创建git项目
比如:上kernel.org下载一个3.7的kernel包为例:
linux-3.7-rc2.tar.bz2
解压:tar -xf linux-3.7-rc2.tar.bz2
cd linux-3.7-rc2
git init
git add -A //添加所有文件
git commit -m "initialized"
git tag v1 //为初始建立一个里程碑,(选作)
git commit -a //提交所有修改,包括缓存区和工作区的修改
此时git log一下,就可以看到初始提交的代码"initialezed"
查看修改:
git diff //查看工作区中的修改
git diff --cached //查看缓存区中的修改,即git add过的修改
git blame //查看某文件的历史修改信息,什么时候改的,谁改的
git log //查看文件历史的commit
提交修改:
git add //添加新创建的文件
git add -u //-u是update的意思,提交在一有文件上的修改
//注意:git add只是把修改提交到缓存区。
git status //查看缓存区中的状况,现实modify,new,delete项
git commit //提交缓存区中的修改,要想提交工作区中的修改,需要加-a
撤销修改:
git revert //撤销工作区中的修改
git reset //撤销cached中的修改到工作区,如果要撤销工作区中的修改
//需要在后面加--hard选项
git reset --hard HEAD^ //撤销当前已提交的一次commit
//HEAD^2意识是撤销最后两次,以此类推,还有一种形式是HEAD~n
git clone:
git clone linux-3.7-rc2 linux-3.7-rc2_bak
git clone linux-3.7-rc2_bak --reference /home/zhaoy/linux-3.7-rc2
参照linux-3.7-rc2 可以节省空间。
//git clone 以建立git项目的home文件夹为参数,常见备份。
远程git clone项目可以使用git协议,也可以使用ssh协议
git clone ssh://username@192.168.0.0/home/user/git/linux-3.7.rc2
下面这种格式不行,“:”不能解析:
git clone ssh://username@192.168.0.0:~/git/linux-3.7.rc2
无工作区的git库创建,一般放在server上节省空间,用于同步。
git clone --bare
git clone --mirror
//这两种创建的版本都不包含工作区。
//mirror 会对上游版本库进行注册,可以在裸版本库中使用git fetch
//和上游版本库持续同步
阅读(604) | 评论(1) | 转发(0) |