总结
1. 使用git提交代码到服务器流程 2012-07-05
Git系统中有两个代码存放地,一个是本地代码,另一个是真正的代码,前者相当于真正代码的clone。
1)
修改代码,修改文件或者添加文件。如果想看看修改了什么,可以用:
gitdiff
如果对某个修改不满意,希望恢复原状,可以使用:
gitcheckout path/filename
相当于svn revert
2)
git引入一个索引(index)的概念,提交前,需要把要提交的文件加入到git索引(index)中:
git addpath/filename1
git addpath/filename2
3)
gitcommit -m "提交感言"
每次commit都是提交索引(index)中的内容。
如果要一次提交所有修改过的文件,可以一次性添加,然后提交
git add.
gitcommit -m "提交感言"
如果只是修改,并没有添加新文件,可以直接用下面的命令:
git commit-a -m "提交感言"
将被修改文件加入索引并提交,一次完成全过程。
当出现冲突时,需要先解决冲突,接着再加入索引并提交。
4)
先要更新代码到最新,更新代码用如下指令
git pull --rebase
5)
以下才是真正将代码提交上去。
Git push
6)
然后可以在以下网址查看到提交记录
http://192.168.80.90/gerrit/gitweb?p=qrd8625r4/android.git;a=summary
注意,本项目是/ qrd8625r4/android.git/ summary。
7)
在修改加入所索引后,如果想看看索引内容中都所了什么修改,可以用:
gitdiff --cached
适合在提交前做最后的codereview。
查看最近一次提交的内容,可以使用
gitshow
修改中随时查看当前代码库的状态:
gitstatus
相当于svn status
删除和移动某个文件:
git rmfile
git mvfile newfile
2. Git命令小结 2012-07-09
git恢复删除了的文件
git pull 从git服务器取出,并且和本地修改merge, 类似于SVN up,但是对删除的文件不管
用,恢复删除文件用
git checkout –f
从已有的git库中提取代码
git clone git@server:app.git myrepo
每次更改代码的操作
更新本地代码到最新版本(需要merge才能合到本地代码中)
git fetch
合并更新后的代码到本地
git merge
更新代码方式的另一种方法(git pull是gitfetch和git merge命令的一个组合)
git pull
修改代码后,查看已修改的内容
git diff –cached
将新增加文件加入到git中
git add file1 file2 file3
从git中删除文件
git rm file1
git rm -r dir1
提交修改
git commit -m 'this is memo'
如果想省掉提交之前的 git add 命令,可以直接用
git commit -a -m 'this is memo'
commit和commit -a的区别, commit -a相当于:
第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中
第二步:自动地删除那些在index file中但不在工作树中的文件
第三步:执行commit命令来提交
提交所有修改到远程服务器,这样,其它团队成员才能更新到这些修改
git push
其它常用命令
显示commit日志
git log
不仅显示commit日志,而且同时显示每次commit的代码改变。
git log –p
回滚代码:
git revert HEAD
你也可以revert更早的commit,例如:
git revert HEAD^
销毁自己的修改
git reset --hard
3. Git命令补充 2012-07-20
1)
回退已经commit的代码到commit之前
Gitreset HEAD^
2)
将不要提交的代码放入回收站
Gitstash