04-分支操作

导航

git branch 查看分支

1
2
3
4
5
6
7
8
# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 列出所有本地分支和远程分支
git branch -a

1559617419855

git branch 分支名 创建分支

创建分支语法

1
2
3
git branch 分支名                      # 基于当前分支创建分支
git branch 新分支 指定分支 # 基于指定分支创建新分支
git branch 新分支 某个 commit 的 id # 基于某个 commit 创建分支

1559617439442

git checkout 分支名 切换分支

切花分支语法

1
git checkout 分支名

1559617458282

git push origin 分支名 推送至远程仓库分支

推送至远程仓库分支语法

1
git push origin 分支名

1559617505369

git merge 分支名合并分支

语法

1
2
git merge 分支名       # 将分支合并到当前分支
git merge A分支 B分支 # 将A分支合并到B分支

1559617538380

  • 比如想把 dev 分支合并到 master 分支,需要 先切换到 master 分支,然后执行 git merge dev

  • 有时候合并操作不会如此顺利。如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要

    1. 打开冲突的文件并修复冲突内容,冲突内容格式如下,需要我们手动修改内容。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      <<<<<<< HEAD
      # 在 maste 中编写代码
      a = 100
      b = 200
      =======
      # 在dev分支中编写代码
      a = 1
      b = 2
      >>>>>>> dev

      我们改成

      1
      2
      3
      # 在 maste 中编写代码  
      a = 100
      b = 200
    2. 执行git add命令来标识冲突已解决。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      Administrator@XTZJ-20220118QH MINGW64 ~/git/test (master)
      $ git merge dev
      Auto-merging hello.txt
      CONFLICT (content): Merge conflict in hello.txt
      Automatic merge failed; fix conflicts and then commit the result.

      Administrator@XTZJ-20220118QH MINGW64 ~/git/test (master|MERGING) # MERGING 代表你正在解决冲突。
      $ git add .

      Administrator@XTZJ-20220118QH MINGW64 ~/git/test (master|MERGING)
      $ git commit -m "handle conflict"

      Administrator@XTZJ-20220118QH MINGW64 ~/git/test (master)
      $ git merge dev
      Already up to date.

git branch -m 分支名 修改当前分支名

Git修改分支名称的方法有多种:

1
2
3
4
5
6
# 1.使用git branch -m命令:这是最直接的方法,可以将当前所在的分支重命名为指定的新名称。例如,要将分支old_branch重命名为new_branch,可以使用以下命令:
git branch -m old_branch new_branch


# 2.使用git branch -m命令的另一种形式:在分支名称前加上-M选项,可以强制重命名一个分支,即使目标分支名称已经存在。例如,要强制将分支old_branch重命名为new_branch,可以使用以下命令:
git branch -M old_branch new_branch

git branch -d 分支名 删除分支

1
2
$ git branch -d dev
Deleted branch dev (was e0a2a2f).

如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D

1559617620953

如果要删除远程仓库中的分支,可以使用命令

1
git push origin –d branchName

删除已合并到 master 分支的所有本地分支

1
git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d

删除远端 origin 已不存在的所有本地分支

1
git remote prune orign

04-分支操作
https://flepeng.github.io/044-Git-21-命令-04-分支操作/
作者
Lepeng
发布于
2021年3月8日
许可协议