工作中常用到的 Git 命令收藏
git分布式的版本管理系统,下面是我整理的常用的git命令。
常用的git命令 #
分支管理 #
在协作开发中,不同的人开发不同的功能一般都会创建相应的功能分支,功能完成之后的分支删除,查看远程、本地所有的分支等。
git branch
查看本地分支
git branch -a
查看所有的分支
git branch -r
查看远程所有的分支
git branch <branch>
新建本地新分支
本地分支重命名(还没有推送到远程):
git branch -m <old-branch> <new-branch>
远程分支重命名:
-
首先重命名远程分支对应的本地分支
git branch -m <old-branch> <new-branch>
-
删除远程分支
git push --delete origin <old-branch>
-
上传新命名的本地分支
git push origin <new-branch>
-
把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/<new-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 blame /xxxx*.xxx
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
清除远程已经不存在的本地分支 #
git remote prune origin
开发中经常遇到的问题 #
很多时候有不想提交的文件已提交,在.gitignore文件中加入忽略还是是不行的。
git rm -r --cached <file>
删除缓存的文件再提交。
总结 #
平时多多使用 git 是非常有必要的,可视化界面用起来不适用全部场景。
版权属于: vincent
转载时须注明出处及本声明