三. Git分支管理

1. 分支的相关操作

1.1 分支的创建

git branch, 来查看现有的分支或创建新的分支。

git branch
* master

git branch ,只需要在git branch命令后面加上我们想要新建的分支的名称即可。

# 创建issue102的分支
git branch issue102
# 查看现有的所有分支
git branch
# 现有的分支
issue102
*master

1.2 分支的切换

git checkout,命令来进行切换分支。

git checkout issue102
Switched to branch 'issue102'
git branch
* issue102
master

切换分支后,我们就可以进行自己的开发。

# 切换分支
git checkout issue102

# 在分支上创建下新的文件
touch issue102.md
git add issue102.md
git commit -m "update issue102.md"

touch issue102.html
git add issue102.html
git commit -m "update issue102.html"

git log --oneline,检查下当前Git的记录。

git log --oneline
318e12a (HEAD -> issue102) update issue102.html
c237e60 update issue102.md

1.3 分支的合并

在当前分支进行的工作合并到主分支上,我们需要切回需要合并到的分支上再进合并。

# 切换回主分支
git checkout master
# 使用git merge 进行合并
git merge issue102
# git branch --no-merged
# 查看所有未合并工作的分支

issue102分支和master分支下对issue102.md文件进行了修改,当我们将issue102分支融合到主分支上时就会发生冲突。如下图所示:

在这里插入图片描述

  • 手动合并
    选择要保留的代码,然后再把>>>>>, ======, <<<<<<这些提示行给去掉。最后重新进行add commit的操作即可。

  • 放弃合并

    当冲突所导致的改动量很大时,可以选择放弃该次的合并。可以使用git merge --abort放弃此次的融合。如果在运行了git merge之后又进行了一些人为的改动,那么在abort之后,所进行的改动也会被回滚掉。

  • mergetool

    1. Use vimdiff as git mergetool
    2. 使用vimdiff作为git mergetool
    3. git-mergetool

1.4 分支推送到远程

$ git remote -v
origin  https://github.com/*****/mygit.git (fetch)
origin  https://github.com/*****/mygit.git (push)

当我们需要推送本地分支到远程时,需要指定具体的本地分支。

# 推送本地的master分支到远程
git push origin master
# 推送本地的issue102分支到远程
git push origin issue102

1.5 分支的删除

  • 删除本地分支
    git branch -d
git branch -d issue102
  • 删除远程分支
# origin 是远程的主机名
# branch 需要删除的远程分支
git push origin --delete branch

1.6 分支的重命名

# oldBranchName: 旧分支名
# newBranchName :新分支名
git branch -m oldBranchName newBranchName

当我们想要将改名后的分支推送到远程时,我们需要进行如下操作:

git branch -m oldBranchName newBranchName   # 将本地的分支进行重命名
git push origin newBranchName               # 将新的分支推送到远程        
git push --delete origin oldBranchName      # 删除远程的旧的分支 

相关推荐

  1. git分支-分支管理

    2024-04-02 20:02:01       18 阅读
  2. git分支-分支管理

    2024-04-02 20:02:01       20 阅读
  3. git分支管理

    2024-04-02 20:02:01       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 20:02:01       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 20:02:01       5 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 20:02:01       4 阅读
  4. Python语言-面向对象

    2024-04-02 20:02:01       6 阅读

热门阅读

  1. Debian 配置国内软件源

    2024-04-02 20:02:01       20 阅读
  2. Debian/Ubuntu安装ping和netstat命令

    2024-04-02 20:02:01       21 阅读
  3. 【python】dict转json存入sql

    2024-04-02 20:02:01       21 阅读
  4. 【算法集训】基础算法:双指针

    2024-04-02 20:02:01       21 阅读
  5. 李白打酒加强版(c++实现)

    2024-04-02 20:02:01       17 阅读
  6. 2024-03-27 问AI: 介绍一下深度学习中的 Darknet

    2024-04-02 20:02:01       23 阅读
  7. 33-2 XXE漏洞 - XXE外部实体注入原理

    2024-04-02 20:02:01       18 阅读
  8. 谈谈Python中的列表推导式和字典推导式

    2024-04-02 20:02:01       21 阅读
  9. Vue3创建空对象方法及推荐

    2024-04-02 20:02:01       20 阅读