显示所有分支
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git branch
* master
|
增加分支
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git branch b1
|
切换分支
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git checkout b1
Switched to branch 'b1'
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$
|
切换到不同的分支对
helloworld.naxsu
这个文件进行修改并提交,并查看他们的内容
原先
helloworld.naxsu
的内容是
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ cat helloworld.naxsu
hello world
add something
|
在
b1
分支修改并提交,然后查看文件内容
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ vim helloworld.naxsu
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ git commit -a -m "b1 update
helloworld.naxsu"
warning: LF will be replaced by CRLF in
helloworld.naxsu.
The file will have its original line
endings in your working
[b1 warning: LF will be replaced by CRLF
in helloworld.naxsu
The file will have its original line
endings in your working
b9c5de1] b1 update helloworld.naxsu
warning: LF will be replaced by CRLF in
helloworld.naxsu.
The file will have its original line
endings in your working
1
file changed, 1 insertion(+)
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ git status
# On branch b1
nothing to commit (working directory
clean)
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ cat helloworld.naxsu
hello world
add something
b1 branch add something
|
切换到
master
分支,进行和上面一样的操作
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master'
by 7 commits.
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ vim helloworld.naxsu
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git commit -a -m "master update
helloworld.naxsu"
[master d9f15c9] master update helloworld.naxsu
1
file changed, 1 insertion(+)
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ cat helloworld.naxsu
hello world
add something
master branch add something
|
从中可以看出两个分支是没有影响的。
##########NextPage##########
列出各分支之间的信息
huangyineng@HUANGYINENG-PC ~/hello-world (master)
$ git show-branch
! [b1] b1 update helloworld.naxsu
*
[master] master update helloworld.naxsu
--
*
[master] master update helloworld.naxsu
+
[b1] b1 update helloworld.naxsu
+* [master^] delete test.naxsu
|
比较
master
和
b1
这两个分支文件的不同
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git diff master b1
diff --git a/helloworld.naxsu
b/helloworld.naxsu
index 9e73a56..7929722 100644
--- a/helloworld.naxsu
+++ b/helloworld.naxsu
@@ -1,3 +1,3 @@
hello world
add something
-master branch add something
+b1 branch add something
|
分支合并
merge
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git merge "merge" HEAD b1
Auto-merging helloworld.naxsu
CONFLICT (content): Merge conflict in
helloworld.naxsu
Automatic merge failed; fix conflicts and
then commit the result.
|
显示自动合并失败,我们看一下状态,可以看到
helloworld.naxsu
被两个分支修改过了
huangyineng@HUANGYINENG-PC ~/hello-world
(master|MERGING)
$ git status
# On branch master
# Your branch is ahead of 'origin/master'
by 8 commits.
#
# Unmerged paths:
#
(use "git add/rm ..." as appropriate to mark
resolution)
#
#
both modified:
helloworld.naxsu
#
no changes added to commit (use "git
add" and/or "git commit -a")
|
我们来看一下
helloworld.naxsu
的内容
huangyineng@HUANGYINENG-PC ~/hello-world
(master|MERGING)
$ cat helloworld.naxsu
hello world
add something
<<<<<<< HEAD
master branch add something
=======
b1 branch add something
>>>>>>> b1
|
把们用
vim
编辑工具人为的把冲突去掉,然后保存、提交,切换到其他分支,也可以看到没有冲突了
huangyineng@HUANGYINENG-PC ~/hello-world
(master|MERGING)
$ vim helloworld.naxsu
huangyineng@HUANGYINENG-PC ~/hello-world
(master|MERGING)
$ git commit -a -m "merging"
[master 34908f4] merging
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ cat helloworld.naxsu
hello world
add something
master branch add something
b1 branch add something
huangyineng@HUANGYINENG-PC ~/hello-world
(master)
$ git checkout b1
Switched to branch 'b1'
huangyineng@HUANGYINENG-PC ~/hello-world
(b1)
$ cat helloworld.naxsu
hello world
add something
b1 branch add something
|
另一种合并的做法,自行去查帮助文档:
$ git checkout master
$ git pull . b1
本文链接:
http://www.656463.com/portal.php?mod=view&aid=7
2
,转载请注明出处
下一节:
标签
分享到:
相关推荐
本文档“git实战-多分支开发-2022新项目.doc”详细介绍了在实际开发环境中如何利用Git进行多分支开发。 在多分支开发模式下,每个开发人员通常都有自己的独立开发分支,以便于进行独立的工作,同时保持主线分支的...
4. 强大的分支和合并:Git的分支机制使得开发者可以轻松创建并切换分支,进行平行开发,然后再合并回主分支,促进团队协作。 5. 图形化界面和命令行工具:Git提供强大的命令行工具,同时也有如SourceTree、Git...
#### 四、Git实战 - **项目管理** - 如何利用Git管理和跟踪自己的工作。 - 团队协作的最佳实践。 - **学习环境** - 支持的操作系统:Ubuntu 14.04、Ubuntu 10.04、Fedora、Windows 7等。 - 远程仓库托管服务:...
内容概要:本文详细介绍了如何配置 Git 用户信息、创建本地仓库以及管理远程仓库的基本命令,同时涵盖了一些常见的 Git 流程操作,如创建分支、切换分支、合并分支等。通过具体的示例代码演示了各个操作步骤的具体...
本文档主要介绍了在IDEA(IntelliJ IDEA)中进行Git实战操作时的一些基本命令。 - **mkdir 文件夹名**:在当前目录下创建一个新的文件夹。 - **cd 文件夹名**:进入指定的文件夹。 - **cd ..**:返回当前目录的父级...
在本文中,我们将深入探讨Git实战中的常用命令,帮助你更好地理解和运用Git。 #### 起步 1. **添加远程仓库**:使用`git remote add`命令将本地仓库与远程仓库关联,例如: ```bash git remote add origin git@...
Git实战IDEA操作详解 Git是一款分布式版本控制系统,它在软件开发中扮演着至关重要的角色,帮助团队协作和代码管理。IntelliJ IDEA(简称IDEA)是广受欢迎的Java集成开发环境,同样也提供了强大的Git集成功能。本文...
1. **Git基础**:Git的基础概念包括版本控制、分支管理、提交历史、合并冲突等。学习如何创建、克隆、添加、提交、拉取和推送代码到远程仓库是Git的基本操作。 2. **Git工作流**:理解Git的工作流模型,如主分支...
1. 分支管理:Git的分支模型非常灵活,允许快速创建和切换分支,便于开发人员并行工作和合并代码。 2. 版本历史:Git能够保存每个提交的完整快照,使得查看和回溯版本历史变得简单。 3. 钩子:Git的钩子机制允许在...
### 企业级Git实战系列公开课知识点总结 #### 一、Git的重要性及应用场景 - **代码版本控制**:Git能够帮助开发者记录每一次代码修改的历史版本,方便随时查阅或回滚到历史版本。 - **团队协作**:通过使用Git,...
### Git分支原理与命令详解 #### 一、Git分支机制概览 在深入探讨Git分支的具体操作之前,首先需要理解Git是如何管理和维护不同版本的。Git通过一系列的指针(称为引用,通常简称ref)来追踪项目的不同版本。每个...
- 有分叉的分支合并:使用`git merge --no-ff <branch_name>`保留合并历史。 - 冲突解决:在合并时遇到冲突,手动编辑冲突文件,然后`git add`和`git commit`。 8. **GitHub/Gitee** - 注册账户:在GitHub或...
- **合并分支**:使用`git merge`将dev分支合并到master,然后推送至远程master分支。 以上是Git的基本操作和协作开发流程,通过熟练掌握这些命令,可以有效地进行团队合作,确保代码版本控制的高效和准确。在...
### Git零基础入门到实战详解 #### 一、Git简介 **Git** 是一个开源的分布式版本控制系统,用于跟踪在软件开发过程中对文件的修改。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理Linux内核的源代码...
- **拉取并合并远程分支**:`git pull origin <branch>`,从指定远程分支拉取并合并到本地分支。 6. **撤销操作** - **取消暂存**:`git reset <file>` 或 `git reset`,将文件从暂存区移回工作区。 - **撤销...
Git的主要优点包括其高效、灵活性以及强大的分支管理功能。本文档详细介绍了Git的基础知识,适合没有版本控制经验的新手入门。 1. **Git概述**: - **版本控制**:Git是一个用于追踪文件内容变化的系统,方便团队...
Git 提供离线开发能力,可以更快地进行分支合并,而 SVN 需要网络连接才能进行大部分操作。此外,Git 的分支模型更加灵活,适合并行开发。 2. 基本名词解释: - Repository(仓库):存储所有版本信息的地方。 - ...
Git不仅支持快速分支切换与合并,还提供了强大的历史记录查询与恢复能力,成为现代软件开发不可或缺的工具。 优点: 系统性:本教程从Git基础概念讲起,逐步深入分支管理、命令详解及.gitignore配置等核心内容,...