Git 推送上游分支跟踪

Git Push Upstream Branch Tracking

我一直在向 git 介绍自己,但我很难理解如何 assemble 我的工作流程,如果我要与其他人一起工作的话。

假设我的任务是创建对现有代码库的新更新。我会首先从远程存储库中拉取,创建一个新分支,进行我的更改,提交,合并到我自己的 master,最后推送到远程存储库。但是我希望一旦我的队友查看代码并认为它​​很好,我所做的更改就会被合并到远程仓库中。因此,在这种情况下,理想情况下,我可以在主版本的远程存储库上创建另一个分支,并将我在本地所做的更改推送到该分支,以便我的队友可以查看它。一旦他们认为没问题,我希望能够将远程仓库上的那个分支合并到主版本中。

所以就我这边的命令而言,它看起来像:

git pull 
git checkout -b new_update_branch
//make changes to code, etc.
git add *
git commit -m "update finished"
git checkout master
git merge new_update_branch
//somehow push the changes to a new branch on the remote repository
//i.e. create a branch on the remote repository too
//teammates look at this branch on the remote repository and ok it
git push origin master 

我将如何着手在远程存储库上创建一个分支,这样它就不会影响 master?

理想情况下,您不应将 featuredevelopment 分支的更改合并到 local master 分支并直接更新 remote master

在本地从 master 创建新的 featuredevelopment 分支之前,将 local master 更新为 remote master

#If you are not already in master then run the next command otherwise you can skip
git checkout master 

git pull origin master

现在 local master 已与 remote master 同步,创建一个分支,您将在其中处理新更改以实现新功能

git checkout -b feature

现在您将切换到 feature 分支。在这里进行所有需要的更改,完成更改后,您可以在本地将更改提交到此 feature 分支。

git add .
git commit -m "Commit message"

提交成功后,您可以将更改推送到 remote feature 分支,而不是直接合并到您的 local master

git push origin feature

所有更改现在都推送到 remote feature 分支。现在是时候将 Pull Request 提升到 master 分支,以便其他队友或其他合作者能够看到所做的所有更改。 他们将根据他们的审查采取适当的行动。

一旦审阅者对所做的更改感到满意,您的代码更改将合并到远程 master。 如果他们对更改不满意并且需要进行一些改进,那么您可能必须在 local feature 分支中进行相应的更改并推送到 remote feature 分支。审核过程将进行。

这样只有经过批准的代码才会被合并到远程存储库中的 master,并且不会被污染。

另外,请确保无论何时你要开发一个新功能,都要创建一个不同名称的新分支,这样即使你的功能分支也不会被污染。还要尽量使每个功能分支对于每个功能都是独立的,以便进一步跟踪和解决任何问题。

希望这有助于解决您面临的问题。