1、创建仓库
git clone
$ git clone <url>
克隆远程仓库到本地
git init
$ git init
初始化本地仓库
2、修改和提交
git status
$ git status
查看状态
git add
$ git add .
跟踪所有改动过的文件
$ git add <file>
跟踪指定的文件
git mv
$ git mv <old> <new>
修改文件名
git commit
$ git commit -m "commit messages..."
提交所有更新过的文件,并记录一行简单提交信息
$ git commit
启动编辑器,记录详细提交信息
$ git commit --amend
修改最后一次提交信息
$ git commit -am "Some information..."
添加跟踪并提交文件
3、查看提交历史
git log
$ git log
查看提交历史
$ git log <file>
只显示指定目录、文件的日志
$ git log -p <file>
显示文件的改动,只查看文件的提交日志以及提交前后的差别
$ git blame <file>
以列表方式查看指定文件的提交历史
$ git log --pretty-short
只显示提交信息的第一行
$ git log --graph
以图表形式查看分支
git diff
$ git diff
查看工作树和暂存区的差别
$ git diff HEAD
查看工作树和最新提交的差别
git reflog
$ git reflog
查看当前仓库的日志
4、撤销
git reset
$ git reset --hard <commit>
回溯历史版本
$ git reset --hard HEAD
撤销工作目录中所有未提交文件的修改内容
$ git checkout HEAD <file>
撤销指定的未提交文件的修改内容
<commit>
即某一次commit的hashcode。
关于git reset命令的详细介绍,请参考另一篇文章:git reset 命令详解。
git revert
$ git revert <commit>
撤销指定的提交
git log
$ git log --before="1 days" 退回到之前1天的版本
git rm
$ git rm -f <file>
强制删除文件
$ git rm --cached <file>
停止跟踪文件,但不删除
5、分支与标签
git branch
$ git branch
显示所有本地分支
$ git branch -a
同时显示本地仓库和远程仓库的分支信息
$ git branch <new-branch>
创建新分支
$ git branch -d <branch>
删除本地分支
git checkout
$ git checkout <branch>
切换到指定分支
$ git checkout -b branch-A
创建分支A,并切换到分支A
6、合并
git merge
$ git merge <branch>
合并指定分支到当前分支
$ git merge --no-ff branch-A
将分支A合并到master分支。
7、远程操作
git remote
$ git remote -v
查看远程仓库库信息
$ git remote show <remote>
查看指定远程仓库信息
$ git remote add <remote> <url>
设置本地仓库的远程仓库
$ git remote rename <remote> <remote new name>
重命名远程仓库
$ git remote rm <remote>
解除远程仓库关联
<remote>默认为origin。
git fetch
$ git fetch <remote>
从远程仓库获取代码
git pull
$ git pull <remote> <branch>
下载代码及快速合并
git push
$ git push
上传当前分支代码到远程仓库
$ git push -u origin <branch>
在远程仓库新建分支,并上传代码
8、其他
git config
$ git config --global user.name "Your Name"
$ git config --global user.email "e-mail@example.com"
$ git config --list
查看用户配置列表
git --version
$ git --version
可以查看当前 Git 版本
touch
$ touch .gitignore
创建.gitignore文件