Alice 和 Bob 正在尝试在同一个项目上工作。这是我们到目前为止所做的。

鲍勃:

mkdir myproject
cd myproject
echo "Hello" > readme.txt
git init
git add readme.txt
git commit -m "Initial Commit"

爱丽丝:
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 从他的 git log 分支中输入 master 时,Alice 的提交无处可寻。

我们是否以完全错误的方式处理分布式工作流? Alice 和 Bob 应该如何在同一个分支上一起工作?请注意,我们没有中央位置来托管我们的存储库,因此我们希望完全分布式地工作。

编辑:

我们将按照建议使用仅 pull 工作流程。我们没有在 Bob 的 repo 中发现 bobsMaster 分支的原因是因为我们假设它是从早先的 pull 中出现的。感谢您的回答!

最佳答案

Bob 应该创建了一个 bobsMaster 分支。如果要将 bobsMaster 推送到 Bob 的 master 分支,请使用以下命令:

git push bob bobsMaster:master

在您的工作流程中,Bob 和 Alice 从其他人的仓库中 pull 要好得多,因为不建议推送到非裸仓库。

关于git push 和分布式工作流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7767111/

10-14 16:15