回顾下GitHub新分支创建

2020-02-28  本文已影响0人  Coding测试

注:由上面的分支合并的流程图可以发现,1 个库可以有多个分支并行的进行开发,但是最后只有 1 个会被 merge 进来,因此当某一个分支被合并到进 master 分支后,其他的并行分支的提交都会被是作为冲突 conflict,解决这个冲突的唯一办法就是,每次做修改之前,记得更新版本库,使自己的分支与 master 分支保持一致*

创建新分支具体步骤如下:
上传一个独立的分支(比如代码是从工程中直接DOWNLOAD ZIP文件如Interface-automation-dev.zip,该文件与原MASTER分支是独立的)

GitHub默认为master分支,下面通过Git Bash命令框创建一个dev新分支。
Administrator@ZGC-0709202624 MINGW32 /b/JAVA/test/Interface-automation (master)
$ git init
Reinitialized existing Git repository in B:/JAVA/test/Interface-automation/.git/
$ git checkout -b dev
Switched to a new branch 'dev'
Administrator@ZGC-0709202624 MINGW32 /b/JAVA/test/Interface-automation (dev)
git remote add origin https://github.com/rootczy/Interface-automation.git
#('Interface-automation' 为工程名)

(此时会跳出来让你输入GitHub的账号密码,输入自己的账号密码即可)

remote:      https://github.com/rootczy/Interface-automation/pull/new/dev
remote:
To https://github.com/rootczy/Interface-automation.git
 * [new branch]      dev -> dev
Administrator@ZGC-0709202624 MINGW32 /b/JAVA/test/Interface-automation (dev)
$ git merge master --allow-unrelated-histories
*** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'Administrator@ZGC-0709202624.(none)')

(此时提示找不到提交者,因为本地没有配置全局的GitHub邮箱和用户名,按照提示执行自己的邮箱和用户名即可:git config --global user.email "you@example.com"| git config --global user.name "Your Name")

$ git merge master --allow-unrelated-histories
Merge made by the 'recursive' strategy.
 .idea/.name                             |   1 +
 .idea/compiler.xml                      |  14 ++
 .idea/encodings.xml                     |   6 +
 .idea/misc.xml                          |  14 ++

$ ll
total 6
-rw-r--r-- 1 Administrator 197121  81 二月 28 11:43 Interface-AutoTest.iml
-rw-r--r-- 1 Administrator 197121 861 二月 28 11:43 pom.xml
-rw-r--r-- 1 Administrator 197121  81 二月 28 11:33 README.md
drwxr-xr-x 1 Administrator 197121 5294 二月 28 11:43 src/

$git push

git官网地址

fetch 与 pull对比说明
1、git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
2、git pull 则是将远程主机的最新内容拉下来后直接合。
即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。


上一篇下一篇

猜你喜欢

热点阅读