git本地获取远程分支

2021-09-17  本文已影响0人  不行了快拦住我

一、查看分支

git branch     查看本地分支

git branch -a 查看所有分支列表,包括本地和远程,当前分支的前面用*标记,远程分支一般会用红色字体标记出来,带有remotes/origin/分支名

二、新建本地分支

git checkout -b 新分支名
 
git checkout master  //切换到master分支
 
git merge hotfix  //将hotfix分支上的修改合并到master分支上

执行该指令后,会在本地创建一个新分支,该分支是从当前分支上检出的,所以所有文件内容都和当前分支一模一样,这是正常的。创建成功后,将自动切换至新分支上。

三、创建本地分支指定远程分支

新建本地分支指定远程分支,该命令可以将远程git仓库里的指定分支拉取到本地
git checkout -b 本地分支名 origin/远程分支名
 
//获取远程
git fetch origin
 
//查看远程分支
git branch -r
//创建本地分支并关联
git checkout -b 本地分支 origin/远程分支
 
//已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名  本地分支名
//拉取
git pull

四、分支合并
1、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支

git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master

2、当master代码改动了,需要更新开发分支(dev)上的代码

git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev

五、git commit撤销

git reset --soft HEAD^

这样就成功的撤销了你的commit

注意,仅仅是撤回commit操作,您写的代码仍然保留。

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

六、git 删除远程分支

删除远程分支的命令

 git push origin(远程仓库默认名) --delete new_a(分支名) 或者

简写 git push origin -d new_a

七、添加指定远程仓库到本地

git remote add liby(远程仓库名可自定义) http://gitlab.liby.com.cn/data-center/liby-sale-cockpit.git

获取远程仓库分支到本地分支(分支名不同需加上)
git fetch liby(远程仓库名) release(远程分支名):release(本地分支名)

git push liby (远程仓库名)release(本地分支名):release(远程分支名)

7.如果远程新建了一个分支,本地没有该分支。

可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。

git checkout --track origin/branch_name

8.如果本地新建了一个分支 branch_name,但是在远程没有。

这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。

git push --set-upstream origin branch_name

9.a/b/c分支同时开发
a分支合并到master上线后,将master 合并到 b/c分支,需要合并两次,第一次为a分支改动文件,第二次为提交版本号,然后在b/c 提交push,然后继续开发,正常提交就可以了。


image.png

10.master和开发分支冲突
当前master分支冲突,可以在当前开发分支时候拉取master分支代码 pull master,然后可看到落后的master分支,以及冲突部分,然后解决冲突,提交当前分支内容,冲突解决。

11.删除分支
master合并到dev,然后dev合并到master,然后在仓库dev合并到master,就会删除其余分支

上一篇 下一篇

猜你喜欢

热点阅读