我对一个文件进行了更改,再加上一个新文件,我想在切换到另一个任务时使用git stash将它们保存起来。但是git stash本身只存储对现有文件的更改;新文件仍保留在我的工作树中,打乱了我未来的工作。我如何保存这个未跟踪的文件?
当前回答
在gitbash中,通过使用命令实现未跟踪文件的隐藏
git stash --include-untracked
# or
git stash -u
http://git-scm.com/docs/git-stash
gitstash从工作区中删除任何未跟踪或未提交的文件。您可以使用以下命令恢复git存储
git stash pop
这将把文件放回本地工作区。
我的经历
我不得不对gitIgnore文件进行修改,以避免.classpath和.project文件移动到远程存储库中。到目前为止,我不能在远程回购中移动这个修改过的.gitIgnore。
.classpath和.project文件对于eclipse很重要,eclipse是我的java编辑器。
首先,我有选择地添加了其余的文件,并提交了暂存。但是,除非修改的.gitIgnore字段和未跟踪的文件(即.project和.classpath)未被隐藏,否则无法执行最终推送。
我用过
git stash
用于隐藏已修改的.gitIgnore文件。
对于存放.classpath和.project文件,我使用
git stash --include-untracked
它从我的工作区删除了这些文件。缺少这些文件会影响我在eclipse中处理工作位置的能力。我继续完成将提交的文件推送到远程的过程。成功完成后,我使用
git stash pop
这将相同的文件粘贴回我的工作区。这给了我在eclipse中处理同一项目的能力。希望这能消除误解。
其他回答
您只需使用以下命令即可完成
git stash save --include-untracked
or
git stash save -u
有关git stash的更多信息,请访问此帖子(单击此处)
在gitbash中,通过使用命令实现未跟踪文件的隐藏
git stash --include-untracked
# or
git stash -u
http://git-scm.com/docs/git-stash
gitstash从工作区中删除任何未跟踪或未提交的文件。您可以使用以下命令恢复git存储
git stash pop
这将把文件放回本地工作区。
我的经历
我不得不对gitIgnore文件进行修改,以避免.classpath和.project文件移动到远程存储库中。到目前为止,我不能在远程回购中移动这个修改过的.gitIgnore。
.classpath和.project文件对于eclipse很重要,eclipse是我的java编辑器。
首先,我有选择地添加了其余的文件,并提交了暂存。但是,除非修改的.gitIgnore字段和未跟踪的文件(即.project和.classpath)未被隐藏,否则无法执行最终推送。
我用过
git stash
用于隐藏已修改的.gitIgnore文件。
对于存放.classpath和.project文件,我使用
git stash --include-untracked
它从我的工作区删除了这些文件。缺少这些文件会影响我在eclipse中处理工作位置的能力。我继续完成将提交的文件推送到远程的过程。成功完成后,我使用
git stash pop
这将相同的文件粘贴回我的工作区。这给了我在eclipse中处理同一项目的能力。希望这能消除误解。
将文件添加到索引:
git add path/to/untracked-file
git stash
索引的全部内容,加上对现有文件的任何未标记的更改,都将被放入存储库。
如果您想隐藏未跟踪的文件,但保留索引文件(例如,您要提交的文件),只需在-u中添加-k(保留索引)选项
git stash -u -k
我过去常常思考和渴望相同的特征。但随着时间的推移,我发现它确实不需要。当你藏起来时,留下新文件是可以的。它们不会发生任何“坏”情况(当您签出其他文件时,git将出错,不会覆盖现有的未跟踪文件)
而且,由于git stash和git stashpop之间的时间间隔通常很短,因此您将再次需要未跟踪的文件。所以我想说,当你在做其他事情时(在git stash和git stashpop之间),文件以git状态显示所带来的不便要比工作带来的不便小得多,而且需要注意的是,否则尝试将未跟踪的文件添加到你的stash中所需的费用。
推荐文章
- Visual Studio Code无法检测已安装的Git
- 强制LF eol在git的回购和工作副本
- Git:在裸库中更改活动分支的正确方法?
- 删除git中的分支是否会将其从历史记录中删除?
- 防止在GitHub上推送到master ?
- 根据Git,谁是“我们”,谁是“他们”?
- git如何合并后樱桃采摘工作?
- Git搜索单个文件历史记录中的字符串
- Git命令显示所有(轻量级)标签创建日期
- Gitignore并没有忽视文件夹
- 什么时候用。git/info/exclude代替。gitignore来排除文件?
- 如何告诉git忽略个别行,即gitignore为特定行代码
- “git diff——耐心”是什么意思?
- 我如何在GitHub中为其他人的代码做出贡献?
- 签出旧的提交并使其成为新的提交