显示完整指令列表
git help -a
常用指令
文档库操作
创建
创建文档库:
git init
创建bare类型文档库:
git init --bare <repository_name>.git
添加、删除、更新、提交
逐个添加:
git add <file_name> [<file_name>]
将所有文件放入缓存,不检查文件夹中是否有文件被删除:
git add .
将所有文件放入缓存,检查文件夹中是否有文件被删除:
git add -A
仅更新或删除文件夹的(所有)内容,不添加文件:
git add -u
将文件移出缓存:
git rm <file_name>
查看缓存区状态:
git status
提交文件:
git commit -m <message>
更改文件、文件夹名称,之后要进行commit
操作:
git mv <old_name> <new_name>
回退
回退版本,<commit_id>
回退到指定版本,HEAD^[^]
回退到上一个(N个)版本:
git reset --hard <commit_id | HEAD^[^]>
标签
给指定commit
添加标签:
git tag <tag_name> <commit_id>
删除指定commit
的标签:
git tag -d <commit_id>
分支
创建、切换、删除分支
根据已存在的分支复制出新分支:
git branch <new_branch> <exist_branch>
根据已存在的<commit_id | tag>
复制出新分支:
git branch <new_branch> <commit_id | tag>
列出本地文档库和远程文档库的所有分支:
git branch -a
删除分支:
git branch -d <branch>
更改当前分支名称:
git branch -m <new_branch_name>
取出某一(多个)文件的最新版本:
git checkout <file_name>
切换分支:
git checkout <branch>
创建分支并切换到该分支:
git checkout -b <branch>
合并分支
合并<branch>
分支到当前分支:
git merge <branch>
git merge --no-ff <branch>
git merge --abort <branch>
将指定分支的修改应用到当前分支:
git rebase <branch>
远程文档库操作
远程复制到本地
将远程文档库复制到本地:
git clone <server_name>/<path>/<repository_name>
git clone http://<server>/<path>/<repository_name>
git clone <user_name>@<server>:<path>/<repository_name>
从远程文档库中取回当前分支的最新内容:
git fetch
git fetch --all
从远程文档库取回当前分支(加上--all
为全部分支)内容,并把远程文档库的分支合并到本地文档库的分支(?):
git pull
git pull -all
本地复制到远程
将本地已有的文档库复制到远程,远程文档库为bare类型;还需要将本地与远程文档库关联起来;并创建追踪分支:
git clone --bare <local_repository_name> <remote_repository_path>
git remote add <remote_name | origin> <remote_repository_path>
git remote uptate
变通方法:将本地文档库复制到远程后,删除本地的文档库,再将远程文档库复制到本地
将本地文档库分支推送到远程文档库,第一次推送是最好添加-u
参数:
git push [-u] <remote_name | origin> <local_baranch_name | master>
将本地文档库分支推送到指定的远程文档库,第一次推送是最好添加-u
参数:
git push [-u] <remote_url> <local_branch_name | master>
把本地文档库中所有分支推送到远程文档库:
git push --all
其他
删除远程文档库的分支:
git push <remote_name | origin> --delete <branch>
改变远程文档库名称:
git remote rename <old_remote_name> <new_remote_name>
改变远程文档库的url:
git remote set-url <remote_name> <url>
显示远程文档库信息:
git remote show <remote_name>
文档库配置
本地文档库相关
查看文档库配置信息:
git config -l
比较文件与文档库中的文件:
git diff <file_name> [<file_name>]
查看文档库提交信息:
git log
git log <file_name> [<file_name>]
显示每个commit的改动情况:
git log --stat
列出本地文档库中的文件列表:
git ls-files
远程文档库相关
列出远程文档库中的文件列表:
git ls-remote
查看远程文档库的设置:
git remote -v
在本地文档库配置文件中添加远程文档库信息:
git remote add <remote_name> <remote_url>
删除本地文档库配置文件中指定远程文档库:
git remote rm <remote_name>
更新本地文档库配置文件中远程文档库的信息,一般用于git remote rm
后,想要还原回来,使用git remote add
和git remote update
的情况:
git remote update
参考文献
- 孙宏明. 完全学会Git, GitHub, GitServer的24堂课[M]. 清华大学出版社, 2016.