我正在使用主分支和另一个主题分支的git存储库.我已切换到主题分支并修改了一个文件.现在,如果我切换到主分支,则相同的文件显示为已修改.
例如:
git-build分支中的git状态:
# On branch git-build
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: cvsup_current
#
Run Code Online (Sandbox Code Playgroud)
切换到主分支
[root@redbull builder_scripts (git-build)]# git co master
M builder_scripts/cvsup_current
Switched to branch "master"
Run Code Online (Sandbox Code Playgroud)
主分支中的git状态
[root@redbull builder_scripts (master)]# git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: cvsup_current
#
Run Code Online (Sandbox Code Playgroud)
为什么文件在master分支中显示为已修改,即使它在git-build分支中被修改了?
我的理解是,分支是相互独立的,当我从一个分支转换到另一个分支时,变化不会从一个分支"溢出"到另一个分支.所以我显然在这里遗漏了一些东西.
有人拿到了线索吗?
Gar*_*eth 59
为什么文件在master分支中显示为已修改,即使它在git-build分支中被修改了?
要记住的关键是文件没有在git-build分支中修改.它只在您的工作副本中进行了修改.
只有当您提交时,更改才会返回到您已检出的任何分支
Pet*_*rns 39
如果要在对另一个分支执行某个分支时暂时将更改存储到一个分支,则可以使用该git stash命令.这是使用git的惊人的小功能之一.示例工作流程
git stash #work saved
git checkout master
#edit files
git commit
git checkout git-build
git stash apply #restore earlier work
Run Code Online (Sandbox Code Playgroud)
git stash存储一堆更改,以便您可以安全地存储多个检查点.您也可以给他们姓名/描述.全部使用信息在这里.
Mar*_*rko 12
这是git的默认行为.
如果您愿意,可以使用-f标志结帐以执行"清理结账".
| 归档时间: |
|
| 查看次数: |
14501 次 |
| 最近记录: |