写这篇总结的初衷,是自己对git还不够熟练,事情是这样的。前两天要合并大量代码提交到分支branchA上,提交后发现总是提交到master上,于是开始想办法,终于找到了解决办法,那就是修改.gitreview 文件的defaultbranch配置,然后把合并代码提交到仓库branchA,最后又把.gitreview文件的defaultbranch配置改回去再提交到仓库master,工作做完了,完美!到现在还没有发现问题,然而主管说,改提交到分支B。于是revert我前两次的提交,但是发现怎么也回退不成功。这就是修改了.gitreview文件的后果。于是想各种办法,鼓捣了一天也没有成功,最后发现是自己权限不够,让高权限的人revert了。。。 于是想再总结一下git知识。
git 常用命令总结
个人总结,不到之处,望各位体谅并补充
首先说一下git操作范围,不外乎以下4个:
- 工作区
- 暂存区
- 本地仓库
- 远程仓库
常用操作分类
-
git初始化
1. git init 2. git clone 远程地址
-
git配置
1. git config -l 查看配置信息 2. git config -global user.name "your name" 3. git config -global user.email "your email"
-
git 增加或删除文件
1. git add [file name] 2. git add . 3. git rm [file name]
-
git 提交
1. git commit -m "message" 2. git commit -a #提交工作区自上次commit之后的变化,直接到仓库区 3. git commit -amend # 重做上一次commit 4. git commit --amend -m [message] # 使用一次新的commit,替代上一次提交 #如果代码没有任何新变化,则用来改写上一次commit的提交信息
-
git 分支
1. git branch #查看本地所有分支 2. git branch -r #查看远程所有分支 3. git branch -a #查看所有分支 4. git branch branchName #创建分支 5. git checkout branchName #切换分支 6. git checkout -b branchName #创建并切换分支 7. git checkout origin/branchName -b branchName#创建本地分支关联远程分支 8. git merge branchName #把分支merge到当前分支 9. git branch -d branchName #删除本地分支 10. git push origin --delete branchName #删除远程分支 11. git branch -dr orgin/branchName #删除远程分支
-
git 回退或撤销
1. git reset --hard commitID #回退到指定版本 2. git revert #回滚
-
git 信息查看
1. git status #查看状态 2. git log [-5] #查看提交记录 3. git reflog #查看最近提交记录 4. git log -S [keywords] #查看指定关键字的提交记录 5. git log --name-only #查看提交记录及提交信息 6. git diff #展示修改前后的区别 7. git diff branchName branchName #比较两个分支的不同 8. git show commitID:fileName #展示指定版本的提交信息
-
git 远程
首次关联远程操作:(本地仓库已提交) git remote add origin 远程仓库地址 git push -u origin master 非首次远程操作: 1. git pull 2. git push origin localBranchName:remoteBranchName 3. git remote -v
-
git 暂存
1. git stash #暂存当前正在进行的工作, #比如想pull 最新代码, 又不想加新commit, #或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。 2. git stash pop