所以,我有一个从主分支检出的分支。
掌握
我在模型上有一些变化。现在,我完成了必须在模型分支中完成的工作。
同样,我将创建下一个分支并在那里做一些工作并推送到该分支本身。
那么,接下来我该怎么做呢?
git pull origin models
git checkout master
git merge models
Run Code Online (Sandbox Code Playgroud)
git pull origin nextBranch
git checkout master
git merge nextBranch
Run Code Online (Sandbox Code Playgroud)
现在,有人说,“始终与主人保持同步”。我不明白这是什么意思。我们不会强迫任何东西去掌握,对吧?我们正在推动当地分支机构。另外,我看到人们总是这样做git pull origin master。有人可以向我解释正确的工作流程吗?.
我不知道,我只是糊涂了。
我认为混乱来自于使用 git 的不同风格。有些是因为个人偏好,有些是因为不同的工作流程(例如在本地或远程工作,或使用 gitflow)。
因此,关于您询问的命令的一些信息:
git pull origin master- 这会将本地 master 分支更新为与远程 master 分支相同。假设您没有直接在本地 master 分支上工作,这应该始终有效并为您提供最新的可用更改。git pull origin <other_branch>- 与上一个项目符号相同,但用于另一个分支。它获取本地分支的远程副本,将远程更改与本地更改合并,为您提供包含更改的最新分支。基本上,这就像在远程分支上保存一些工作,进行一些本地更改,然后根据这两个更改创建一个新文档。您可以rebase通过传递标志来强制它执行而不是合并git pull --rebase origin master所以基本上,当你完成一个 bug 的功能时,你想要执行以下操作:
git pull origin models]git checkout master]git merge models]只要您独自工作并且不打算让其他人检查您的更改,这就会按预期工作!
如果您打算与其他人一起工作,您可能希望有人检查您的更改,以确保在将新功能合并到主分支之前一切都按预期工作。
所以你不想到git merge models你的本地 master 分支,而是在远程 git 服务上创建一个 pull request 并将远程功能分支与远程 master 分支合并(在代码审查之后)。说得通?
这是执行此操作的远程方式(在本地更简单,但在服务本身上有额外的步骤):( 应该在功能分支上完成)
# get all the features that got merged into the master branch remotely (by other users) and merge them into your feature branch
git rebase origin/master
# get the latest changes (saved by you on a different machine) from the cloud and merge with local changes:
git pull origin models
# commit all the new changes locally
git add .
git commit
# push back to the cloud!
git push origin
Run Code Online (Sandbox Code Playgroud)
现在在 Github 上,您可以创建拉取请求(您将看到执行此操作的提示)。代码审查后,您可以单击“合并拉取请求”将此分支合并到 master。

| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |