相关疑难解决方法(0)

在不应用它的情况下查看存储中的内容

可能重复:
是否可以在git中预览隐藏内容?

在这里看到你可以申请/取消申请藏匿,甚至可以从藏匿处创建一个新的分支.是否有可能只是在没有实际应用它的情况下简单地看到藏匿处内的东西?

git git-stash

1650
推荐指数
1
解决办法
62万
查看次数

如何仅解冻某些文件?

我把我的变化藏了起来.现在我想从存储中只取消一些文件.我怎样才能做到这一点?

git git-stash

350
推荐指数
7
解决办法
14万
查看次数

git-checkout新名称下的旧文件修订版

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

250
推荐指数
3
解决办法
5万
查看次数

从将提交的列表中删除文件

我在git存储库中有一个已更改文件的列表.目前有一个我不想提交的文件.我可不可以做:

git commit -a
Run Code Online (Sandbox Code Playgroud)

提交所有文件然后以某种方式从当前提交中删除该文件?删除后,它仍然应该在未提交的文件列表中.

git file commit

46
推荐指数
4
解决办法
11万
查看次数

git从存储中删除文件

我有一堆文件藏在里面.

但由于存在冲突文件,我无法应用我的存储.我在我的藏匿处找到了有问题的文件,我想将其删除.

如何在不破坏整个内容的情况下从存储中删除单个文件?

git git-stash merge-conflict-resolution

30
推荐指数
2
解决办法
3万
查看次数

使用交互模式'git stash apply'

我有一系列文件到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)

你知道实现它的方法吗?

git git-stash chunks interactive-mode

29
推荐指数
2
解决办法
7982
查看次数

将单个文件提交到另一个分支

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)

虽然有一种方法可以直接从另一个分支引入文件,但我想知道是否有办法文件发送到另一个分支,没有这一切麻烦.实际修改只有几个字符.

git version-control git-branch

17
推荐指数
2
解决办法
1万
查看次数

如何只弹出项目中特定文件的 git stash?

如何仅弹出项目中特定文件的 git stash?

git diff

1
推荐指数
1
解决办法
2421
查看次数