git切换到指定分支,git新建分支与合并

一,git切换到指定分支

使用git进行开发的时候经常会遇到需要切换远程分支并且提交到远程指定分支的情况,操作如下

1,查看远程所有分支

git branch -a

git branch不带参数,列出本地已经存在的分支,并且在当前分支的前面用*标记,加上-a参数可以查看所有分支列表,包括本地和远程,远程分支一般会用红色字体标记出来

* dev
 master
 remotes/origin/HEAD -> origin/master
 remotes/origin/master
 remotes/origin/release/caigou_v1.0

 2,git切换分支之前要更新所有分支

git fetch --all

3,切换分支,git checkout  分支名称

 git checkout dev-new(分支名)

上面切换的是本地分支

参考:https://blog.csdn.net/astonishqft/article/details/83029490

          https://www.cnblogs.com/xuzimian/p/10748522.html

 

二,git拉取远程分支并切换到该分支

执行前都需要执行git fetch来同步远程仓库

1,git fetch 获取远程所有分支

2,git branch -r 可以看到所有远程分支,假设有一个分支叫origin/mybranch

 3,git checkout mybranch即可,会在本地新建一个同名分支,并与该远程分支关联

 

三,git新建分支与合并

1,新建分支

在 master 分支上新建一个分支iss53来修改问题,并同时切换到那个分支上,你可以运行一个带有 -b 参数的 git checkout 命令:

$ git checkout -b iss53
Switched to a new branch "iss53"

它是下面两条命令的简写:

$ git branch iss53
$ git checkout iss53

 

2,分支的合并

在iss53 分支中合并master分支,可以使用 git merge master 命令将 master 分支合并入 iss53 分支

假设你已经修正了 #53 问题,并且打算将你的工作合并入 master 分支,你需要合并 iss53 分支到 master 分支,你只需要切到想合并的分支,然后运行 git merge 命令:

$ git checkout master
Switched to branch 'master'
$ git merge iss53
Merge made by the 'recursive' strategy.

 

3,删除分支

既然你的修改已经合并进来了,就不再需要 iss53 分支了。 现在你可以在任务追踪系统中关闭此项任务,并删除这个分支。

$ git branch -d iss53

 

4,遇到冲突时的分支合并

4.1,你可以在合并冲突后的任意时刻使用 git status 命令来查看那些因包含合并冲突而处于未合并(unmerged)状态的文件:

$ git status

任何因包含合并冲突而有待解决的文件,都会以未合并状态标识出来。

4.2,在你解决了所有文件里的冲突之后,使用 git add 暂存命令来将其标记为冲突已解决。

4.3,如果你想使用图形化工具来解决冲突,你可以运行 git mergetool,该命令会为你启动一个合适的可视化合并工具:

$ git mergetool

4.4,如果你对结果感到满意,并且确定之前有冲突的的文件都已经暂存了,这时你可以输入 git commit 来完成合并提交。

 

参考:https://git-scm.com/book/zh/v2/Git

 

git删除远程分支和本地分支

https://www.cnblogs.com/luosongchao/p/3408365.html

 

四,Git本地创建远程空白分支

1,最好新建一个空文件夹,重新拉项目下来操作

2,https://blog.csdn.net/weixin_42078760/article/details/103882486

3,操作完之后,把新的文件复制进来

git新建分支并提交当前修改代码

1,新建分支: git branch xxx (填写分支名称) 

2,切换分支: git checkout xxx (切换的分支名称) 

3,添加修改代码到缓存: git add . 

  1.  git status , 查看自己写了哪些东西。
  2.    git add .   添加修改代码到缓存,注意最后的"."
  3. git commit -m "xxx" (xxx为本次提交代码的备注) 添加提交代码的备注
  4. git push origin xxx (xxx提交到远程分支名)提交代码到指定分支

        https://blog.csdn.net/weixin_43367262/article/details/100575221

 

五,git本地分支关联远程分支

git branch --set-upstream-to=origin/0.4 0.4

 其中origin/0.4是远程分支,最后一个0.4是本地分支名

参考:https://blog.csdn.net/m0_37852904/article/details/85248323

 
 
 
gitlab创建项目,没有master权限
1,选择一个空模板项目(Create from template),创建就有master分支
2,git clone 项目
3,删除项目多余的文件
4,git add .
5,git commit -m '初始化'
6,git push
 
新建develop分支,提交远程分支
git checkout -b develop
git merge master

 git push origin develop

 

gitlab 新工程 commit一直pending的解决办法

https://blog.csdn.net/weixin_44723434/article/details/88425094

Settings -- CI/CD -- Auto DevOps --- Default to Auto DevOps pipeline 去掉勾 -- Save changes

拷贝提交记录

https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

 

 

git代码检测 阻止提交 commit
git add .
git commit --no-verify -m '角'
git push origin 分支名

git管理工具:Sourcetree 提交选项---绕过提交钩子

 
posted @ 2020-05-25 23:38  云悠  阅读(7298)  评论(0编辑  收藏  举报