回家时保存工作目录的内容
没有用git玩过很多,所以这更像是一个“git支持类似这样的问题”的问题。
你在工作......工作......你做了一个巨大的改变,它建立起来了,你做了一个承诺,立即开始研究下一个重要功能。 对文件进行了一些更改,但对于提交不够,并且响铃响了。 你想继续在家工作,但不想用部分提交来玷污历史树。
理想情况下,您可以上传历史树让我们说GitHub和工作树的内容,并继续在家工作。
git支持这样的东西吗?
我总是可以把整个东西上传到USB上,然后从那里继续,但是这打破了整个想法。
提交并推送您的部分更改(最好在故事分支上),然后将中间提交压缩为最终的提交,如下所述:http://gitready.com/advanced/2009/02/10/squashing-commits-with- rebase.html
只需提交您的更改,然后撤消在家中(在您拉出之后)的最后一次提交:
git reset HEAD^
但是,你必须做一个强制推送( push -f
),如果有其他人正在这个分支上工作,你将会陷入困境。 有两种解决方案:
承诺不同的分支:
git checkout -b my-temp-branch
git commit -am "dirty state"
git push origin my-temp-branch
然后在家中,检出正确的分支,将其移动到临时分支,恢复上次提交并删除临时分支:
git checkout **branch**
git pull origin my-temp-branch
git reset HEAD^
git push --delete origin my-temp-branch
承诺不同的回购。 如果你不想在你的临时分支中乱扔你的中央仓库,只需在github上创建你自己的仓库(如果我们正在谈论公司代码的话就是私人仓库),把它设置为另一个远程仓库,并按照步骤1进行。
git remote add private **repo**
这需要做一次,然后当你回家时:
git commit -am "dirty state"
git push private **branch**
然后在家中,您只需从您的私人回购中拉出并重置脏提交
git checkout **branch**
git pull private **branch**
git reset HEAD^
Git是一个分布式版本控制和源代码。
所以,每当我们做了改变,但他们还没有准备好进行最终提交,所以为了避免整个回来并开始工作,切换到新的分支n提交您的工作。
git checkout -b <new-branch>
git add .
git commit
选中此项:将现有的,未完成的工作移至Git中的新分支
链接地址: http://www.djcxy.com/p/23595.html