有时我不想发生的事情发生在我的存储库中。这是我想避免但不知道最佳方法的情况之一:
git init --bare bare.git;
git clone bare.git/ clonned1;
git clone bare.git/ clonned2;
cd clonned1;
REV=1;echo "$REV commit" > $REV.file;git add .;git ci -m "$REV commit";
REV=2;echo "$REV commit" > $REV.file;git add .;git ci -m "$REV commit";
git push;
git co -b new-branch;
REV=3;echo "$REV commit" > $REV.file;git add .;git ci -m "$REV commit";
REV=4;echo "$REV commit" > $REV.file;git add .;git ci -m "$REV commit";
git push -u origin new-branch;
gitk --all;
存储库状态:
git co master;
git merge --no-ff new-branch;
gitk --all;
存储库状态:
cd ../clonned2;
git pull;
REV=5;echo "$REV commit" > $REV.file;git add .;git ci -m "$REV commit";
REV=6;echo "$REV commit" > $REV.file;git add .;git ci -m "$REV commit";
git push;
gitk --all;
存储库状态:
cd ../clonned1;
git pull --rebase;
gitk --all;
存储库状态:
如您所见,我在 master 分支上丢失了合并提交,这意味着我丢失了项目历史的一部分。当然,愚蠢的我,我忘了推动我的改变。但它不时发生。
如何避免这种情况?如何确保我不会忘记推动?git 有什么方法可以告诉我这个吗?也许我的方法不正确?