Git 命令还真不少,列一下方便回顾与查找。
创建库
1 2 3 4 5 6 7 8
| git init
git init [project-name]
git clone [url]
|
配置
- .gitconfig Git 配置文件,可以在用户主目录下(全局),也可以在仓库目录下
- .gitignore 过滤配置文件,告诉 Git 哪些文件不需要加入到版本管理中
设置的主要命令为 git config
,加上参数 --global
则表示为全局配置,不使用则是修改当前仓库配置。
1 2 3 4 5 6 7 8 9 10
| git config --list
git config -e [--global]
git config [--global] user.name "your name" git config [--global] user.email "your email"
|
增加删除文件
1 2 3 4 5 6 7 8 9 10 11 12
| git add [file1] [file2]
git add [dir]
git add .
git rm [file1] [file2]
|
提交文件
1 2 3 4 5 6 7 8 9 10 11
| git commit -m [message]
git commit -a
git commit -am [message]
git commit --amend -m [message]
|
撤销修改
1 2 3 4 5 6 7 8 9 10 11
| git checkout -- [file1] [file2]
git checkout -- .
git reset HEAD [file]
git reset -hard
|
查看信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| git status
git log [-n]
git log --stat
git log --follow [file]
git log -p
git log -p [file]
git diff
git diff [file1]
git diff HEAD
git show [commit]
git reflog
git shortlog -sn
|
分支
在 git branch
的输出内容中,有一个分支,前面带有 *
号,这标识我们当前所在的分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| git branch
git branch -r
git branch -a
git branch [branch-name]
git branch -d [branch-name]
git checkout [branch-name]
git merge [branch-name]
git branch --set-upstream [branch] [remote-branch]
|
标签
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| git tag
git tag [tag]
git tag -d [tag]
git show [tag]
git push [remote] [tag]
git push [remote] --tags
|
远程同步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| git fetch [remote]
git remote -v
git remote show [remote]
git remote add [short-name] [url]
git pull [remote] [branch]
git push [remote] [branch]
git push [remote] --all
|
git fetch
和 git pull
之间的区别:
git fetch
是仅仅获取远程仓库的更新内容,并不会自动做合并。
git pull
在获取远程仓库的内容后,会自动做合并,可以看成 git fetch
之后 git merge
。
参考资料