我在GitHub上创建了一个repo,master
到目前为止只有一个分支.我的本地工作副本与master
GitHub上的远程/原点完全一致.
我现在想development
在GitHub上创建一个分支,以便我团队中的其他人可以开始推动更改development
(而不是直接master
)并提交PR,请求代码审查等.
所以我尝试development
在本地创建一个新分支并推送它:
git checkout -b development
git push origin development:master
Run Code Online (Sandbox Code Playgroud)
但是git只是说Everything up-to-date
.所以我问:
如果我是最新的master
,我如何创建一个development
包含精确副本的远程分支master
?
Sur*_*gch 48
您可以像这样列出所有当前的分支:
git branch -a
Run Code Online (Sandbox Code Playgroud)
这显示了所有本地和远程分支。假设您只有一个master
分支,您会看到以下内容:
* master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
该*
指当前分支。
要创建一个名为 develop 的新分支,请使用以下命令:
git checkout -b develop
Run Code Online (Sandbox Code Playgroud)
该-b
旗创建了分公司。现在列出分支应该显示:
git branch -a
Run Code Online (Sandbox Code Playgroud)
您不应该直接向master
分支提交任何内容。而是在develop
分支上完成所有工作,然后master
在有新的公开发布时合并开发。
您已经在您的开发分支中,但如果您不在,则切换方式如下:
git checkout develop
Run Code Online (Sandbox Code Playgroud)
这与您创建分支的方式相同,但没有-b
.
进行更改时,像往常一样添加和提交:
git add .
git commit -m "whatever"
Run Code Online (Sandbox Code Playgroud)
第一次推送到遥控器时,请这样做:
git push -u origin develop
Run Code Online (Sandbox Code Playgroud)
该-u
标志代表--set-upstream
。第一次之后你只需要这样做:
git push
Run Code Online (Sandbox Code Playgroud)
一旦你develop
准备好合并,master
你可以这样做:
首先切换到本地主分支:
git checkout master
Run Code Online (Sandbox Code Playgroud)
要将 develop 合并到 master 中,请执行以下操作:
git merge develop
Run Code Online (Sandbox Code Playgroud)
然后将本地 master 中的更改推送到远程 master:
* master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
完毕。
如果您不再需要该develop
分支,或者您只想删除它并重新开始,您可以执行以下操作:
删除远程开发分支:
git push -d origin develop
Run Code Online (Sandbox Code Playgroud)
然后删除本地分支:
git branch -d develop
Run Code Online (Sandbox Code Playgroud)
该-d
方法删除。
dda*_*son 42
当你这样做
$ git push origin development:master
Run Code Online (Sandbox Code Playgroud)
实际发生的是git正在采取<local>:<remote>
和更新分支是<remote>
什么<local>
.
既然你执行git checkout -b development
的master
,当地development
拥有的所有提交master
做; 因此它表明一切都是最新的.
你可以这样做
$ git checkout -b development
$ git push origin development
Run Code Online (Sandbox Code Playgroud)
推动新的分支
小智 6
您也可以使用 git flow。这将自动创建具有正确命名约定的分支,这是一种很好的做法。
git flow init
Run Code Online (Sandbox Code Playgroud)
并推
git push --set-upstream origin develop
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51991 次 |
最近记录: |