git分布式的版本管理系统,下面是我整理的常用的git命令。
常用的git命令
分支管理
在协作开发中,不同的人开发不同的功能一般都会创建相应的功能分支,功能完成之后的分支删除,查看远程、本地所有的分支等。
git branch
查看本地分支
git branch -a
查看所有的分支
git branch -r
查看远程所有的分支
git branch <branch>
新建本地新分支
当需要删除本地分支:
git branch -d <branch>
删除本地分支
删除远程分支:
git push origin --delete <branch-name>
删除远程分支
git branch -dr <branch>
git push origin :<branch-name>
删除远程分支
当协作开发时,远程分支已被删除时,同步更新本地分支清除远程不存在的本地分支:
git remote prune origin
清除远程已不存在的分支
本地更改
git status
查看当前的分支版本状态
git diff
查看当前未提交的变更
git commit -m 'xxx'
添加提交信息
git commit -am 'xxx'
执行add 添加信息一起提交
git commit --amend
修改上一次提交信息
git checkout
git checkout
是我们的常用命令,最为常用的两种情形是创建分支和切换分支。
git checkout -b <branch>
创建新的分支并切换到创建的分支
git checkout <branch>
切换分支
git checkout --detach <branch>
切换分支的最后一次commit阶段
git checkout --merge <branch>
将当前分支修改的内容,同步到切换的分支下
查看分支提交记录
git log
显示提交记录
git show <commit>
查看某个具体的commit修改信息
git blame <file>
查看谁在什么时候修改了文件的信息
显示某个文件的版本历史,包括文件改名
git log --follow <file>
git whatchanged <file>
分支合并
git merge
是在Git中使用比较频繁的一个命令,其主要用于将两个或两个以上的开发历史加入(合并)一起。
git merge <branch>
把分支代码合并到当前分支, 存在两个分支
git rebase <branch>
把分支代码合并到当前分支, 存在一个分支
同步远程代码
git fetch <remote>
获取远程分支,不更新本地分支
git pull
拉取远程当前分支并更新本地
git pull origin <remote>
拉取远程指定分支并更新当前分支
git push
推送本地更新到远程分支
撤销
git checkout <file>
撤销文件的修改,恢复到未更改前
git checkout .
撤销本地当前所有更改
git reset <file>
重置暂存区指定文件
git reset --hard
恢复到上一次commit
git reset <commit>
恢复到指定的commit
本地暂存工作和恢复
用来保存和恢复工作,只能在add之前执行stash
git stash list
查看所有暂存列表
git stash pop stash@{num}
恢复(只能恢复一次)
git stash apply stash@{num}
恢复(可恢复多次)
git stash drop stash@{num}
删除某个保存
git stash clear
清除所有保存
打标签
git tag
查看所有tag
git tag <tag-name>
给当前分支打标签
git tag -d <tag-name>
删除本地标签
git push origin :ref/tags/<tag-name>
删除远程tag
开发中经常遇到的问题
很多时候有不想提交的文件已提交,在.gitignore文件中加入忽略还是是不行的。
git rm -r --cached <file>
删除缓存的文件再提交。
总结
平时多多使用 git 是非常有必要的,可视化界面用起来不适用全部场景。
转载请注明原出处 原文地址Vincent'Blog 工作中常用到的 Git 命令收藏