1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

git reset --soft HEAD~N 回退到上N个版本
git reset --soft head^ 将最近一次提交记录回退到暂存区
Git reset --mixed head^ 将最近一次提交回退到工作区
git reset --hard head^ 将最近一次提交记录清除
git reset --hard commitId 回退版本

git cherry-pick commitid 把其他分支的某提交记录复制到当前分支
git cherry-pick --abort 取消cherry-pick
git merge --abort 取消合并
git checkout . 重置当前所有修改(危险)

git revert (用一次新的提交回滚之前的提交且用于非合并类型的提交,而get reset 是直接删除指定的commit)
git revert head 撤销前一次提交
git revert -n commitid 撤销指定提交记录

git checkout -b test origin/test 本地创建一个和远程同名的分支
git pull origin test 更新test这个分支的代码
git checkout test 切换到test分支
git branch -a 查看远程分支
git branch -vv 查看分支关联
git status 查看当前状态
git log 查看提交日志

git pull 的意思是 git fetch 再 git merge FETCH_HEAD
git pull --rebase 的意思是 先 git fetch 再 git rebase FETCH_HEAD
git pull --autostash --rebase
git rebase -i 将本地的多次提交合并为一个(简化提交记录,合并到develop的时候看到的提交记录更加清爽)
git rebase -i HEAD~2 //合并前两个提交记录
git rebase 也可以用于合并。例如在开发分支执行git rebase develop,有冲突就解决冲突,解决后直接git add . 再git rebase --continue 即可。(git rebase 与 git merge 的原理不同,合并后并不会产生新的提交记录。)。 功能开发完成最后切到develop分支把功能进行合并进来 git merge xxx分支名。

git branch —delete branchName 删除本地分支
git push origin --delete test 删除远程分支

git tag 1.0.2 打tag
git push origin --tags 推送tag到远程
git push origin test1:test1 关联分支到远程分支