Git命令大全(值得收藏)

原创
2017/05/20 09:22
阅读数 893

 

一、初始化版本库

在当前目录初始化一个Git版本库

git init

指定一个目录并将其初始化为Git版本库

git init project-path

下载一个项目和它的整个代码历史

git clone url地址

二、添加或者删除文件

添加指定文件到暂存区

git add 文件1 文件2 ...

添加指定目录到暂存区,包括子目录

git add 目录

添加当前目录的所有文件到暂存区

git add .

添加每个变化前,都会要求确认

git add -p

删除工作区文件,并且将这次删除放入暂存区

git rm 文件1 文件2 ...

停止追踪指定文件,但该文件会保留在工作区

git rm --cached 文件

改名文件,并且将这个改名放入暂存区

git mv a.txt b.txt

三、设置忽略文件

设置每个人都想要忽略的文件

在根目录新建一个 .gitignore 文件,并将该文件提交到版本库,内容如下所示:

.idea

build

*.class

设置只有自己想要忽略的文件

修改 .git/info/exclude 文件

四、导出版本库

git archive --format=zip head > project.zip

五、代码提交

提交暂存区到仓库区

git commit -m "变更说明"

提交暂存区的指定文件到仓库区

git commit 文件1 文件2 ... -m "变更说明"

提交工作区自上次commit之后的变化,直接到仓库区

git commit -a

提交时显示所有diff信息

git commit -v

改写上一次commit的提交信息

git commit --amend -m "变更说明"

六、分支管理

列出所有本地分支

git branch

列出所有远程分支

git branch -r

列出所有本地分支和远程分支

git branch -a

新建一个分支,但依然停留在当前分支

git branch 分支名

新建一个分支,并切换到该分支

git checkout -b 分支名

新建一个分支,与指定的远程分支建立追踪关系

git branch --track 本地分支 远程分支

切换到指定分支,并更新工作区

git checkout 分支名

切换到上一个分支

git checkout -

合并指定分支到当前分支

git merge [branch]

选择一个commit,合并进当前分支

git cherry-pick 提交点ID

删除分支

git branch -d 分支名

删除远程分支

git push origin --delete 分支名

git branch -dr 分支名

七、状态和日志

显示当前分支的最近几次提交

git reflog

显示有变更的文件

git status

显示当前分支的版本历史

git log

显示指定文件相关的每一次diff

git log -p 文件名

显示commit历史

git log --stat

根据关键词搜索提交历史

git log -S "关键词"

显示过去5次提交

git log -5 --pretty --oneline

显示指定文件的提交信息

git blame 文件名

显示暂存区和工作区的差异

git diff

显示所有提交过的用户,按提交次数排序

git shortlog -sn

显示暂存区和上一个commit的差异

git diff --cached 文件名

显示工作区与当前分支最新commit之间的差异

git diff HEAD

八、远程同步

下载远程仓库的所有变动

git fetch origin

显示所有远程仓库

git remote -v

显示某个远程仓库的信息

git remote show origin

取回远程仓库的变化,并与本地分支合并

git pull origin 分支名

上传本地指定分支到远程仓库

git push origin 分支名

强行推送当前分支到远程仓库

git push origin --force

推送所有分支到远程仓库

git push origin --all

九、标签管理

列出所有tag

git tag

新建一个tag在当前commit

git tag tag名

新建一个分支,指向某个tag

git checkout -b 分支名 tag名

删除远程tag

git push origin :refs/tags/tag名

新建一个tag在指定commit

git tag tag名 提交点

删除本地tag

git tag -d tag名

提交指定tag

git push origin tag名

查看tag信息

git show tag名

提交所有tag

git push origin --tags

十、撤销修改

撤销多个文件

git checkout head 文件1 文件2

撤销所有txt文件

git checkout head *.txt

撤销所有文件

git checkout head .

 

展开阅读全文
Git
加载中

作者的其它热门文章

打赏
0
2 收藏
分享
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部