我希望能够从单个文件中隐藏更改:
git stash save -- just_my_file.txt
Run Code Online (Sandbox Code Playgroud)
以上不起作用.任何替代品?
Wes*_*ker 144
我认为stash -p这可能是你想要的选择,但是为了防止你将来遇到其他更棘手的事情,请记住:
Stash实际上只是一个非常简单的替代,只是稍微复杂一些branch.Stash对于快速移动事物非常有用,但是你可以通过分支完成更复杂的事情而不会更加头痛和工作.
# git checkout -b tmpbranch
# git add the_file
# git commit -m "stashing the_file"
# git checkout master
Run Code Online (Sandbox Code Playgroud)
去做你想做的事,然后简单地rebase和/或mergetmpbranch.这真的不是那多的工作时,你需要做更仔细的跟踪比藏匿将允许.
Ben*_*ier 51
您可以使用git stash -p(类似于)以交互方式存储单行git add -p.
它不需要文件名,但您可以直接跳过其他文件,d直到您到达要隐藏的文件并将其中的所有更改存储起来a.
sea*_*cal 31
如果不想使用隐藏的更改指定消息,请在双破折号后传递文件名。
$ git stash -- filename.ext
Run Code Online (Sandbox Code Playgroud)
如果是未跟踪/新文件,则必须先上载它。
但是,如果您确实想指定一条消息,请使用push。
git stash push -m "describe changes to filename.ext" filename.ext
Run Code Online (Sandbox Code Playgroud)
两种方法都可以在git 2.13+版本中使用
Cha*_*esB 19
最好的选择是git stash save --keep-index暂存除此文件之外的所有内容,并告诉stash保留索引,从而存储您的非暂存文件:
$ git add .
$ git reset thefiletostash
$ git stash save --keep-index
Run Code Online (Sandbox Code Playgroud)
正如Dan指出的那样,thefiletostash是唯一一个被存储重置的东西,但它也会隐藏其他文件,所以它并不完全是你想要的.
小智 12
万一你使用'git stash'(并且不使用git stash临时存放它)实际意味着"丢弃更改",在这种情况下你可以使用
git checkout -- <file>
Run Code Online (Sandbox Code Playgroud)
请注意,git stash只是分支和执行操作的快速而简单的替代方法.
| 归档时间: |
|
| 查看次数: |
117618 次 |
| 最近记录: |