记录git常用命令
git clone:
git仓库可以使用git clone获得:1
git clone git://url
也可以通过浏览器浏览。1
http://url/gitweb/
通过git pull
更新仓库,使用git init-db
初始化自己的仓库。
config:
开发人员需要为git仓库配置相关信息,这样在提交代码时,这些信息会自动
反映在git仓库的日志中。
1 | git config user.name "your name" |
git config alias
表示,可以用git co
代表git checkout
。git var -l
可以查看
已经设置的配置。
diff:
开发人员在本地进行开发后,可以使用git diff查看改动。
除了直接比较当前开发后的改动外,git diff还可以:
1 | git diff tag 比较tag和HEAD之间的不同。 |
ORIG_HEAD
用于指向前一个操作状态,因此在git pull之后如果想得到pull的
内容就可以:
1 | git diff ORIG_HEAD |
apply:
git apply
相当于patch命令。--check
检查能否正常打上补丁,-v verbose模式, -R reverse模式,反打补丁。
log:
1 | git log file 查看一个文件的改动。 |
commit:
1 | git commit -a -e 提交全部修改文件,并调用vim编辑提交日志。 |
add/delete/ls:
1 | git add -a 添加所有文件。除了.gitignore文件中的文件。 |
git中有四种对象:blob、tree、commit、tag。
blob代表文件,tree代表目录,commit代表提交历史,tag代表标签。
这四种对象都是由SHA1值表示的。在仓库的.git目录中保存了git管理仓库
所需要的全部信息。
1 | git ls-tree HEAD file 显示file在HEAD中的SHA1值。 |
patch:
1 | git format-patch -1 生成最后一个提交对应的patch文件。 |
conflict:
1 | git merge 用于合并两个分支。 |
branch:
1 | git branch -a 查看所有分支。 |
daemon:
有时更新公共代码仓库使用patch的方式,或者直接
用git pull git://ip/repo branch
的方式更新每个人的代码。使用git pull的方式需要
提交代码的机器运行:1
git daemon --verbose --export-all --enable=receive-pack --base-path=/repo
request-pull:
1 | git request-pull start url 用于产生本次pull请求的统计信息。 |
clean:
1 | git clean -dxf 用于清除未跟踪文件。 |