艾丽斯和鲍勃正在尝试共同完成一个项目。以下是我们目前所做的事情。
鲍勃:
Alice:
爱丽丝:
现在我们陷入了困境。推送成功了,但我不知道Alice的提交去了哪里。当Bob从他的master分支输入git log时,找不到Alice的提交记录。
我们的分布式工作流程是否完全错误?Alice和Bob应该如何在同一分支上合作?请注意,我们没有集中位置来托管我们的存储库,因此我们希望完全分布式工作。
编辑:按照建议,我们将采用仅拉取的工作流程。我们之前没有注意到Bob存储库中的bobsMaster分支,因为我们假设它是从早期的拉取中出现的。感谢您的回答!
鲍勃:
mkdir myproject
cd myproject
echo "Hello" > readme.txt
git init
git add readme.txt
git commit -m "Initial Commit"
Alice:
爱丽丝:
git init
git remote add bob ssh://bob/home/bob/projects/myproject
git pull bob
git checkout remote/bob/master -b bobsMaster
echo "Hello again" >> readme.txt
git add readme.txt
git commit -m "Improving readme"
git push bob bobsMaster
现在我们陷入了困境。推送成功了,但我不知道Alice的提交去了哪里。当Bob从他的master分支输入git log时,找不到Alice的提交记录。
我们的分布式工作流程是否完全错误?Alice和Bob应该如何在同一分支上合作?请注意,我们没有集中位置来托管我们的存储库,因此我们希望完全分布式工作。
编辑:按照建议,我们将采用仅拉取的工作流程。我们之前没有注意到Bob存储库中的bobsMaster分支,因为我们假设它是从早期的拉取中出现的。感谢您的回答!
bobsMaster
推送到了Bob的存储库中,因此之后它就存在那里了。请参见CharlesBs的答案。他推送了bobsMaster:master
,这意味着他将本地的bobsMaster
推送到了远程的master
。如果省略远程分支名称,git会假定bobsMaster
=>bobsMaster:bobsMaster
。 - KingCrunch