我在GitHub上创建了一个repo,master到目前为止只有一个分支.我的本地工作副本与masterGitHub上的远程/原点完全一致.
我现在想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 次 |
| 最近记录: |