目录
- 基础概念
- git branch
- -r
- -a
- -v
- -vv
- -avv
- 重命名分支
- 删除分支
- git branch -h
- git checkout
- 创建新的分支追踪远程分支同时切换到该分支
- 创建新的分支并切换到该分支
- 撤销对文件的修改,恢复到最近的提交状态:
- 丢弃本地所有修改
- git checkout -h
- git merge
- 合并指定分支到当前分支
- 合并其他分支并保持提交历史
- 合并其他分支但不保留提交历史
- 合并其他分支并编辑提交信息
- 合并其他分支并忽略空格更改
- 合并其他分支并手动解决冲突
- 合并其他分支并保留原始分支状态
- git merge -h
基础概念
origin
origin
在 Git 中通常表示默认的远程仓库名称,用于指代最初克隆或添加的远程仓库。
git branch
显示分支
显示本地分支列表
$ git branch
当前分支将以绿色突出显示并标有星号。
-r
git branch -r
显示所有远程分支;远程分支列表
-a
git branch -a
添加-a选项将同时显示所有的远程分支和本地分支。
-v
git branch -v
显示所有本地分支 以及该分支上最新的一笔提交信息
-vv
git branch -vv
显示所有本地分支和对应的远程分支 以及该分支上最新的一笔提交信息
-avv
git branch -avv
显示所有本地分支和对应的远程分支 以及该分支上最新的一笔提交信息;还有所有远程分支以及该分支上最新的一笔提交信息
创建分支
$ git branch <branchname>
重命名分支
git branch -m <oldbranch> <newbranch>
删除分支
git branch -d <branchname>
如果该分支还没有完全与上游分支合并,或者在 HEAD 中如果没有上游,Git 将不允许您删除该分支。但是,您可以指定-D以强制删除它,而不管其合并状态如何。
git branch -h
git checkout
checkout
命令会基于您已经获取的远程存储库中的分支,在您的本地存储库中创建一个分支。
切换分支
git checkout <branch>
这将允许您签出,并切换到您想要的分支。
添加-b
选项将创建一个新分支,并切换到它。
创建新的分支追踪远程分支同时切换到该分支
git checkout -b aa origin/master
创建新的分支并切换到该分支
git checkout -b cc
撤销对文件的修改,恢复到最近的提交状态:
git checkout -- file-name
丢弃本地所有修改
(是对比于远程内容的修改部分,不包括新增的文件),回到修改之前的状态:
git checkout .
git checkout -h
git merge
合并分支
git merge <branch>
添加--no-ff
选项将导致git merge
命令都会是创建合并提交,而不是快进。这很有用,因为它允许您保留合并前分支的历史记录信息。
当您添加--squash
选项时,Git 会创建一个代表合并更改的单个提交,而不是创建合并提交。 此提交包含来自合并分支的更改,但不包含任何与合并分支或合并过程本身相关的信息。git merge
命令用于将一个分支的更改合并到当前分支。以下是一些常见的 git merge
命令用法示例:
合并指定分支到当前分支
git merge branch-name
这会将名为 branch-name
的分支的更改合并到当前所在的分支。
合并其他分支并保持提交历史
git merge --no-ff branch-name
这会执行一次普通合并,保留提交历史,即使可以进行快进合并(Fast-Forward Merge)。
合并其他分支但不保留提交历史
git merge --ff-only branch-name
这会强制执行快进合并,如果不能快进合并(Fast-Forward Merge),则不会执行合并操作。
合并其他分支并编辑提交信息
git merge --edit branch-name
这会在合并时打开编辑器以允许编辑合并提交的信息。
合并其他分支并忽略空格更改
git merge -Xignore-space-change branch-name
这会在合并时忽略空格更改,有助于减少合并冲突。
合并其他分支并手动解决冲突
git merge branch-name
在出现冲突后手动解决冲突
git add .
git commit
如果合并过程中出现冲突,需要手动解决冲突后再提交合并结果。
合并其他分支并保留原始分支状态
git merge --no-commit --no-ff branch-name
这会执行合并操作,但不会自动提交合并结果,可以在合并后再进行修改或检查后再手动提交。
这些是一些常见的 git merge
命令用法示例。根据你的需求和具体情况,你可以选择适合的选项来执行合并操作,并确保合并后的代码库保持整洁和正确。