我什么时候需要做“git pull”,在“git add,git commit”之前还是之后?
什么是正确的方式?
git add foo.js git commit foo.js -m "commit" git pull git push
要么
git pull git add foo.js git commit foo.js -m "commit" git push
要么
git add foo.js git pull git commit foo.js -m "commit" git push
UPD:
我忘记提到,在这种情况下,我使用git add
来分阶段跟踪和修改文件。 不要将全新的文件包含到存储库中。 这是否改变命令的顺序?
拉=取+合并。
您需要在合并之前提交所做的事情。
所以提交后提交。
我build议尽可能频繁地从远程分支拉,以尽量减less大的合并和可能的冲突。
话虽如此,我会select第一个选项:
git add foo.js git commit foo.js -m "commit" git pull git push
在提交之前提交您的更改,以便在提交期间将您的提交合并到远程更改中。 这可能会导致冲突,你可以开始处理知道你的代码已经提交,如果出现任何问题,你必须中止合并,无论出于何种原因。
我相信有人会不同意我的意见,但我不认为有任何正确的方法来做这个合并stream程,只有最适合的人。
我认为最好的办法是。
隐藏你的本地变化
git stash
更新分支到最新的代码
git pull
将您的本地更改合并到最新的代码中
git stash apply
添加,提交并推送您的更改
git add git commit git push
根据我的经验,这是通过git(反正在命令行上)阻力最小的path,
您希望您的更改位于远程分支的当前状态之上。 所以可能你想要在你自己做出决定之前就把它拉开。 之后,再次推送您的更改。
只要与远程分支没有冲突,“脏”的本地文件就不是问题。 如果发生冲突,合并将失败,因此在进行本地变更之前,没有风险或危险。
我认为git pull --rebase
是在远程提交之前设置最近的本地提交的最git pull --rebase
的方式,而您在某个时间点没有提交。
所以这样你就不必每次都想要开始修改。