Git分支管理及常见操作

  众所周知,使用Git分支,我们可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

  既然要使用Git分支,这里就涉及到Git分支的管理及常见操作,如列出分支,分支的创建,分支的删除,分支的合并等操作。

  以前看到这就头痛,总是搞不明白,今天研究了许久才搞懂,这里做个笔记。

  如,我的Git工具安装在E盘>myGit中,安装后目录如下:

  

  我本地创建的仓库为myProject,首先我们可以先查看下本地仓库的分支情况。打开Git工具,操作如下。 

[email protected] MINGW64 ~/桌面
$ cd e:

[email protected] MINGW64 /e
$ cd mygit

[email protected] MINGW64 /e/mygit
$ cd git

[email protected] MINGW64 /e/mygit/git
$ cd myProject

  检查本地仓库分支,命令,git branch回车即可查看该仓库下的分支情况,如果没有创建的话,默认只有主分支master:

[email protected] MINGW64 /e/mygit/git/myProject (master)
$ git branch  查看该仓库下的分支情况
* master

  

  下面,创建分支,如,我在该仓库下创建了分支test,然后在该分支下写了一个test.txt文件。那么这里就涉及到两个操作了,即分支的创建与切换。具体操作如下: 

[email protected] MINGW64 /e/mygit/git/myProject (master)
$ git branch test   test为创建的分支名

[email protected] MINGW64 /e/mygit/git/myProject (master)
$ git checkout test   从主分支master上切换到刚创建的分支test上
Switched to branch ‘test‘

[email protected] MINGW64 /e/mygit/git/myProject (test)
$ echo "hello world!" >test.txt  在分支test里写入一个test.txt文件,文件内容为“hello world!”

  

  下面要将刚创建的文件写入到缓存区。操作如下:  

[email protected] MINGW64 /e/mygit/git/myProject (test)
$ git add .   将文件写入到缓存区中,注意add与逗号间有空格
warning: LF will be replaced by CRLF in test.txt.
The file will have its original line endings in your working directory.

  

  然后要将缓存区内容test.txt文件添加到仓库,操作如下: 

[email protected] MINGW64 /e/mygit/git/myProject (test)
$ git commit -m "change log"  将缓存区内容添加到仓库
[test afc4b17] change log
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

 

  下面要进行分支合并,即将新建的分支test合并到主分支master上,这里首先要向将分支test切换到主分支master,然后进行分支合并。操作如下:

[email protected] MINGW64 /e/mygit/git/myProject (test)
$ git checkout master  切换分支test到主分支master上
Switched to branch ‘master‘
Your branch is up-to-date with ‘origin/master‘.

[email protected] MINGW64 /e/mygit/git/myProject (master)
$ git merge test  将分支test合并到主分支master上
Updating 68d8bfc..afc4b17
Fast-forward
 test.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

  

  如果,我们要将本地仓库里的内容提交到远程GitHub上,操作如下: 

[email protected] MINGW64 /e/mygit/git/myProject (master)
$ git push origin master  提交内容到远程GitHub上
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 282 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/leiwuhen-67/project.git
   68d8bfc..afc4b17  master -> master

  总结:

  1、查看分支:git branch

  2、创建分支:git branch  分支名

  3、删除分支:git branch -d 分支名

  4、切换分支:git checkout 新建分支名

  5、合并分支:git merge 新建分支名

时间: 2024-08-24 03:01:31

Git分支管理及常见操作的相关文章

Github操作与git分支管理

通过今天学习的web新知识和复习Sublime Text的基础知识,让我收获颇多,疑惑也多.尤其是在做用 git 和gitHub来管理自己的代码的题目内容时候遇到了许多的疑问,首先在注册用户时都不太懂,在老师提示和指导下才慢慢理解和完成题目. 了解到git分支管理,感觉这个程序可以给我们带来非常多的便利和快捷.使用的标签也没有很复杂,git程序的操作并不需要网络,而应用到的软件才需要,在团队开发中,遵循一个合理.清晰的开发使用流程是很重要的,不然每人乱写项目会变得难以协调和维护.所以将一个项目文

Git工程开发实践(四)——Git分支管理策略

Git工程开发实践(四)--Git分支管理策略 一.Git版本管理的挑战 Git是非常优秀的版本管理工具,但面对版本管理依然有非常大得挑战.工程开发中,开发者彼此的代码协作必然带来很多问题和挑战:A.如何开始一个Feature开发,而不影响其它Feature?B.由于很容易创建新分支,分支多了如何管理,时间久了,如何知道每个分支是干什么的?C.哪些分支已经合并回了主干?D.如何进行Release的管理?开始一个Release的时候如何冻结Feature, 如何在Prepare Release的时

git分支管理与冲突解决(转载)

Git 分支管理和冲突解决 原文:http://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支,名叫newname. git checkout newname 检出分支,即切换到名叫newname的分支. git checkout –b newname master 这个命令将上面两个命令合并:在

[转]Git分支管理策略

如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件,Git有很多优点.其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便.有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用. 但是,太方便了也会产生副作用.如果你不加注意,很可能

Git分支管理——创建、合并、删除分支

前言: 几乎所有的版本控制都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. Git的分支模型成称为它的"必杀技特性",也正因为这一特性,使得Git从众多版本控制系统中脱颖而出.Git处理分支的方式是难以置信的轻量,创建新的分支这一操作是秒级完成的,并且在不同分支之间的切换操作也是一样便捷. Git的分支,其实本质上仅仅是指向提交对象的可变指针.Git的默认分支是master.在多次提交操作之后,其实我们已经有一个指向最后那个提交对象的mast

[廖雪峰] Git 分支管理策略

通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制 禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息. 下面我们实战一下 --no-ff 方式的 git merge: 首先,仍然创建并切换 dev 分支: $ git checkout -b dev Switched to a new branch 'dev' 修改 readme.txt

GIt分支管理策略

大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对

Git分支管理实战

Git分支管理实战: 使用了Git之后,Git确实比TFS 好用,首先它很轻巧,分支之间切换基本在秒级,分支创建也很方便,但由于方便快捷,最近我们一直在因为分支管理混乱而陷入无穷的痛苦之中, 在此痛定思痛,觉得借鉴网上一个好的方案来管理分支. 一.主分支: 实际开发中,主要存在两条主分支,Master和Develop 分支,这两个分支的生命周期是整个项目周期. 他们有如下特点: 1.Master和develop分支自创建之后都不会删除,会随着项目的增长不断往里面添代码. 2.Master分支是G

Git 分支管理 Feature分支 强行删除分支

软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了, 所以,每添加一个新功能,最好新建一个feature分支, 在上面开发,完成后,合并,最后,删除该feature分支(个人倾向于不删). 只是演示效果, 开发中如果并不需要此功能, 不合并feature即可,  不需要删除, 以防后面又需要此功能 --  现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船.    于是准备开发:新建fe