约定:
1.我的机器:root@andyubuntu-virtual-machine:
2.A君的机器:root@herrben:
一、初始化,建仓;
进入要管理的工程目录,例如mt6573源码,执行git init命令;
root@andyubuntu-virtual-machine:/home/work/three_v/compare/mt6573#git init
===================================================================================
二、生成快照,并将快照存放到索引区域;执行git add. 注意空格;
root@andyubuntu-virtual-machine:/home/work/three_v/compare/mt6573#git add .
===================================================================================
三、修改某部分,比如在out文件夹下添加一个test.bk文件,要添加索引;
root@andyubuntu-virtual-machine:/home/work/three_v/compare/mt6573#git add out/test.bk
====================================================================================
四、提交修改;执行gitcommit会打开系统默认的gnu文本工具以添加版本注释;或者加-m 参数;
root@andyubuntu-virtual-machine:/home/work/three_v/compare/mt6573#git commit -m "add a file named test.bk,just for fun"
====================================================================================
五、A君可以从我这colone一份worktree,也就是克隆一份完全一样的工程,克隆后这个工程内会有.git文件夹,默认隐藏;命令如下:
A君执行以下命令:
//gitclone root@192.168.11.7:/home/work/three_v/compare/mt6573
这个命令中root是我的账号,192.168.11.7是我的ip,后面是我的工程路径,即含有.git文件夹的那个工程文件夹;
//gitcolone username@ip:url
这个命令在哪个目录下执行,代码就被clone到哪;也可以在url后添加要克隆到的路径;
===================================================================================================================
六、我将A君的代码合并,先把A君的工程先拉过来;要求带branch参数;master为主参数;
root@andyubuntu-virtual-machine:/home/work/three_v/compare/mt6573#git pull root@192.168.11.10:home/work/mt6573 master
执行完后A做的修改我这里也能看到;
===================================================================================================================
七、配置用户名,邮箱,以划清责任人;
root@andyubuntu-virtual-machine:/home/work/three_v/compare/mt6573#git config --global user.name "andy"
八、查看版本变更信息:
root@andyubuntu-virtual-machine:~#git log
fatal: Not a gitrepository (or any of the parent directories): .git
以上说明在root下没有repository,没有仓库,也就是没用.git文件夹;
=========
九、关于分支branch:
============
1. //gitbranch用于查看分支数;
============
2. //git branch aNewBranch 新建一个名为aNewBranch的分支;
用git branch查看的效果如上图,星号表示当前所在分支;
master名为主分支,是默认分支;
所谓的主分支其实相对于当前用户所在的分支来说,各分支之间是没有主次之分的.只是人们习惯上将默认的分支称作主分支而已.
============
3.$git checkout aNewBranch 切换到aNewBranch 分支
4.分支的合并
当我们在一个分支下(如aNewBranch )进行了一系统的添加,编辑,删除及版本的变更操作后.需要将此分支合并到master分支里.合并分支可以用gitmerge命令实现,如下:
==============
# git merge aNewBranch //切换到master分支后,执行此命令将aNewBranch 合并到当前的master分支;
# git branch -d aNewBranch //删除已经合并的部分;
# git branch -D aNewBranch //彻底删除分支,包括已经合并与未合并的;