可能重复:
是否可以在git中预览隐藏内容?
我在这里看到你可以申请/取消申请藏匿,甚至可以从藏匿处创建一个新的分支.是否有可能只是在没有实际应用它的情况下简单地看到藏匿处内的东西?
我main.cpp在编辑器中打开了文件" ".
我想main.cpp在编辑器中看到之前的修订版" ".
我现在这样做的方式是这样的.
close "main.cpp" in the editor
prompt> mv main.cpp tmp
prompt> git checkout HEAD^ main.cpp
prompt> mv main.cpp old_main.cpp
prompt> mv tmp main.cpp
prompt>
open "main.cpp" and "old_main.cpp" in the editor
Run Code Online (Sandbox Code Playgroud)
可以简化,所以我不必在编辑器中关闭"main.cpp"吗?
我希望的是一个git-checkout可以做到这一点的变体.
更新:我在mac osx 10.5.7上使用git
prompt> git --version
git version 1.6.0.4
prompt>
Run Code Online (Sandbox Code Playgroud)
UPDATE2:JakubNarębski的回答是:
prompt> git show HEAD^:dir1/dir2/dir3/main.cpp > old_main.cpp
prompt>
Run Code Online (Sandbox Code Playgroud)
更新3:Karmi的答案,针对特定修订:
prompt> git show 4c274dd91dc:higgs/Higgs.xcodeproj/project.pbxproj > old_project.pbxproj
prompt>
Run Code Online (Sandbox Code Playgroud) 我在git存储库中有一个已更改文件的列表.目前有一个我不想提交的文件.我可不可以做:
git commit -a
Run Code Online (Sandbox Code Playgroud)
提交所有文件然后以某种方式从当前提交中删除该文件?删除后,它仍然应该在未提交的文件列表中.
我有一堆文件藏在里面.
但由于存在冲突文件,我无法应用我的存储.我在我的藏匿处找到了有问题的文件,我想将其删除.
如何在不破坏整个内容的情况下从存储中删除单个文件?
我有一系列文件到stash(stash{0}),我想git apply 只是这些文件的一些部分/帅气(通常称为交互模式).
可能吗?
我已经看到有可能执行一个
git stash save -p 'Stash name'
Run Code Online (Sandbox Code Playgroud)
但似乎不可能做到
git stash apply -p 'Stash name'
Run Code Online (Sandbox Code Playgroud)
你知道实现它的方法吗?
feature-x当我突然遇到一个应该在另一个分支上真正解决的问题时,我正在分支上做一些工作hotfix.
我想创建一个带有该更改的提交,但是在hotfix分支上.
从这个问题我理解标准程序将是
# On branch feature-x
git stash
git checkout hotfix
git stash pop
git add -A
git commit -m "Fixed issue #562"
Run Code Online (Sandbox Code Playgroud)
如果我在分支上没有进行很多更改,那将会有效feature-x,这会引起与分支的冲突hotfix.我想避免必须解决不必要的冲突.
为了避免这种情况,我想我只能从存储中提取单个文件,如此答案所述.所以程序将是:
# On branch feature-x
git stash
git checkout hotfix
git checkout stash@{0} -- <src/buggyfile.xxx>
git add -A
git commit -m "Fixed issue #562"
Run Code Online (Sandbox Code Playgroud)
然后我应该回去 feature-x
git checkout feature-x
git stash pop
Run Code Online (Sandbox Code Playgroud)
虽然有一种方法可以直接从另一个分支引入文件,但我想知道是否有办法将文件发送到另一个分支,没有这一切麻烦.实际修改只有几个字符.