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 命令收藏