[英]How to create development branch from master on GitHub
我在 GitHub 上創建了一個 repo,到目前為止只有一個master
分支。 我的本地工作副本與 GitHub 上的 remote/origin master
同步。
我現在想在 GitHub 上創建一個development
分支,以便我團隊中的其他人可以開始將更改推送到development
(而不是直接推送到master
)並提交 PR,請求代碼審查等。
所以我嘗試在本地創建一個新的development
分支並推送它:
git checkout -b development
git push origin development:master
但是 git 只是說Everything up-to-date
。 所以我問:
如果我現在使用master
,我如何只創建一個包含master
精確副本的遠程development
分支?
當你做
$ git push origin development:master
實際發生的是 git 使用<local>:<remote>
並將<remote>
更新為<local>
分支。
由於您從master
執行git checkout -b development
,您的本地development
擁有master
所做的所有提交; 因此它顯示一切都是最新的。
你可以做
$ git checkout -b development
$ git push origin development
推送新分支
您可以像這樣列出所有當前的分支:
git branch -a
這顯示了所有本地和遠程分支。 假設您只有一個master
分支,您會看到以下內容:
* master
remotes/origin/master
*
表示當前分支。
要創建一個名為 develop 的新分支,請使用以下命令:
git checkout -b develop
-b
標志創建分支。 現在列出分支應該顯示:
* develop
master
remotes/origin/master
您不應該直接向master
分支提交任何內容。 而是在develop
分支上完成所有工作,然后在有新的公開發布時將 develop 合並到master
。
您已經在您的開發分支中,但如果您不在,則切換方式如下:
git checkout develop
這與您創建分支的方式相同,但沒有-b
。
進行更改時,像往常一樣添加和提交:
git add .
git commit -m "whatever"
第一次推送到遙控器時,請這樣做:
git push -u origin develop
-u
標志代表--set-upstream
。 第一次之后你只需要這樣做:
git push
一旦你的develop
准備好合並到master
你可以這樣做:
首先切換到本地主分支:
git checkout master
要將 develop 合並到 master 中,請執行以下操作:
git merge develop
然后將本地 master 中的更改推送到遠程 master:
git push
完畢。
如果您不再需要develop
分支,或者您只想刪除它並重新開始,您可以執行以下操作:
刪除遠程開發分支:
git push -d origin develop
然后刪除本地分支:
git branch -d develop
-d
表示刪除。
您也可以使用 git flow。 這將自動創建具有正確命名約定的分支,這是一種很好的做法。
git flow init
並推
git push --set-upstream origin develop
這對我有用
git push origin development
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.