我有两个分支,比如B1和B2。我在B2,我有分阶段和未分阶段的文件。
我希望在B1中提交暂存的文件(当我git add
编辑文件时我以为我在B1中)和在B2中提交的未暂存文件。
有可能吗?怎么样?
答案 0 :(得分:3)
我确信这是一种更优雅的方式,但我能想到的只有:
修改强>
这个question有一个详细的答案,或多或少地表达了我的建议。
答案 1 :(得分:3)
git stash
在分支之间移动脏更改时非常强大。在您的情况下,您可以应用以下步骤:
git stash --keep-index
,这将仅存储非分页文件git stash
,这将隐藏其余内容,即暂存文件git stash pop
,暂存的文件将移至B1 git stash pop
,未分段的文件将移至B2 之后,您可以单独提交每个分支中的更改。
答案 2 :(得分:1)
如果通过切换到分支B1来修改已修改的暂存和未暂存文件,则可以在不影响任何内容的情况下切换分支,然后您可以轻松提交文件并切换回B2。
但是,如果在B1和B2之间更改了修改后的文件,则无法切换分支。在这种情况下,您必须在切换分支之前存储您的更改。
git stash --keep-index
隐藏和保存暂存文件 git reset HEAD
取消暂存分阶段文件 git stash
隐藏您的上传文件 git checkout B1
切换到B1分支 git stash pop
取消暂停并删除您的上一个藏匿 git commit -a
在B1 上提交您的上传文件git checkout B2
切换到B2分支 git stash pop
git commit -a
提交B2 小心这些命令!我不是git pro! : - )