Git常用命令汇总
2017-09-27 12:48
405 查看
git常用命令
创建
复制一个已创建的仓库git clone ssh://user@domain.com/repo.git
创建一个新的本地仓库
git init
本地修改
显示当前路径下已修改的内容git status
对比上次提交版本里文件的不同
git diff
将当前修改的所有文件增加到下次提交中
git add
把某个文件的修改增加到下次提交中
git add -p <file>
提交所有修改
git commit -a
提交之前已标记的变化
git commit
附加消息提交
git commit -m '<message>'
提交,将提交时间修改为之前的某个时间
git commit --date="'date --date='n day ago'" -am '<commit message>'
修改上次提交<请勿修改已发布的提交记录>
git commit --amend
将当前分支未提交的移动到其他分支
git stash
git checkout <branch>
git stash pop
搜索
从当前目录所有文件查找文本内容git grep <text>
在某一个版本搜索内容
git grep <text> <v2.5>
提交历史
从最新提交开始,显示提交记录(hash,username,title,date)git log
显示所有提交(hash, message)
git log --oneline
某个用户的所有提交
git log --auther='<username>'
显示某个文件修改
git log -p <file>
谁,在什么时间,修改什么内容
git blame <file>
分支与标签
列出所有分支git branch
切换分支
git checkout <branch>
创建并切换到新分支
git checkout -b <branch>
基于当前分支创建新分支
git branch <new branch>
基于远程分支创建可追溯的分支
git branch --track <new branch> <remote branch>
删除本地分支
git branch -d <branch>
给当前版本打标签
gti tag <tag name>
更新与发布
列出当前配置的远程断git remote -v
显示远程段信息
git remote show <remote>
增加新的远程端
git remote add <remote> <url>
下载远程版本,但不合并到HEAD
git fetch <remote>
下载远程版本,自动与HEAD版本合并
gti fetch pull <remote> <url>
将远程版本合并到本地版本
git pull origin master
将本地版本发布到远程版本
git push remote <remote> <branch>
删除远程分支
git push <remote>:<branch>
或
git push <remote> --delete <branch>
发布标签
git push --tags
合并与重置
将分支合并到当前HEADgit merge <branch>
将当前版本重置到HEAD中(请勿重置已发布的提交)
gti rebase <branch>
退出重置
git rebase --abort
解决冲突后继续重置
git rebase --continue
使用配置好的merge tool解决冲突
git mergetool
在编辑器中手动解决冲突后,标记文件为已解决冲突
git add <resolved file>
git rm <resolved file>
撤销
放弃工作目录下的所有修改git reset --hard HEAD
移除缓存区的所有文件
git reset HEAD
放弃某个文件的所有修改
git checkout HEAD <file>
重置一个提交(创建一个截然不同的新提交)
git revert <commit>
将HEAD重置到某个版本,抛弃该版本之后的所有修改
git reset --hard <commit>
将HEAD重置到上一次提交的版本,并将之后修改标记为未增加到缓存区的修改
git reset <commit>
将HEAD从知道上一次提交的版本,并保留未提交的本地修改
git reset --keep <commit>