假设你的版本库在 /home/github 目录
不妨快速回忆下,如何初始化本地仓库整个过程
$ cd /home
$ mkdir github
$ cd github/
$ git init --->至此已将gihub目录初始化为本地仓库
$ nano 1.txt --->在当前目录添加 1.txt 文件,并简单设置下文档内容即可
$ git add 1.txt --->添加文件到本地仓库-暂存区
$ git commit -m '提交1.txt文档' --->提交文件到本地仓库
$ git status --->查看本地仓库基本状态
$ git log --->查看操作日志
$ git diff --->追踪修改(比如再次修改1.txt文档,不提交,执行该命令即可看到修改的地方)
应该只有 master 这个默认的分支,你可以认为他是主干
这样就创建了一个新分支,名称就是 test2015-01
这样就进入到当前分支,接下来你新增文档\修改文档\删除文档等操作都是针对该分支
// ... add、edit 、delete 等等操作
$ git commit -a -m '一次性提交所有修改'
假设到此为止:你已经在新分支上已经完成了开发工作
接下来要进行的工作是合并分支到主干,即:maser
$ git merge test2015-01 --->将分支合并到主干
$ git status --->查看合并的结果
因为可能存在一些冲突,比如有人直接在master上修改且提交了
也包括你在新分支上做的一些操作,比如增删改
// ... 解决冲突,比如文档内容有冲突:需要有人来裁定到底以哪个为准!
// ... 解决完之后
$ git commit -a -m '合并分支,解决冲突,最后提交!'
不妨快速回忆下,如何初始化本地仓库整个过程
$ cd /home
$ mkdir github
$ cd github/
$ git init --->至此已将gihub目录初始化为本地仓库
$ nano 1.txt --->在当前目录添加 1.txt 文件,并简单设置下文档内容即可
$ git add 1.txt --->添加文件到本地仓库-暂存区
$ git commit -m '提交1.txt文档' --->提交文件到本地仓库
$ git status --->查看本地仓库基本状态
$ git log --->查看操作日志
$ git diff --->追踪修改(比如再次修改1.txt文档,不提交,执行该命令即可看到修改的地方)
1. 列出当前分支
$ git branch应该只有 master 这个默认的分支,你可以认为他是主干
2. 创建新分支
$ git branch test2015-01这样就创建了一个新分支,名称就是 test2015-01
3.切换到分支
$ git checkout test2015-01这样就进入到当前分支,接下来你新增文档\修改文档\删除文档等操作都是针对该分支
// ... add、edit 、delete 等等操作
$ git commit -a -m '一次性提交所有修改'
假设到此为止:你已经在新分支上已经完成了开发工作
接下来要进行的工作是合并分支到主干,即:maser
4.合并分支
$ git checkout master --->先切回到主干$ git merge test2015-01 --->将分支合并到主干
$ git status --->查看合并的结果
因为可能存在一些冲突,比如有人直接在master上修改且提交了
也包括你在新分支上做的一些操作,比如增删改
// ... 解决冲突,比如文档内容有冲突:需要有人来裁定到底以哪个为准!
// ... 解决完之后
$ git commit -a -m '合并分支,解决冲突,最后提交!'
$ git satus --> 再次看看版本库信息,应该是没有关于冲突的信息了
5. 从主干更新代码到分支
// ... 其实就是把主干merge 到分支而已
// 这种情况很常见,因为 maser 可能有A、B 两个分支
// A 分支先开发完成并合并到主干,那么主干内容就要合并到B分支
// 否则B分支感知不到主干已经有变化
$ git checkout test2015-01 --->进入到该分支即可
$ git merge master ----> 把主干合并到分支
// 一样的可能存在冲突,在 test2015-01 分支解决在提交即可!