0%

git 常用的函数

冲突解决


git reset SOFT –> 当commit 后,发现别人已经做了修改, 则先revert commit, 再pull 代码, 再merge, 再commit, push

提取patch

git format-patch -1 xxxxxxx-patch-uuid —> 提取某个patch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
git format-patch -M master    //当前分支所有超前master的提交

git format-patch -s SHA值 //此SHA值提交以后的所有PATCH

git format-patch -1 SHA值 //此SHA值的提交patch

git format-patch -n //从master售前n个提交的内容

git format-patch -n SHA值 //从SHA值开始(含SHA值当次)之前的N次提交


git format-patch HEAD^ <==最近的1次commit的patch

git format-patch HEAD^^ <==最近的2次commit的patch

git format-patch HEAD^ <==最近的3次commit的patch

git format-patch HEAD^ <==最近的4次commit的patch

git format-patch HEAD^^^^^ <==不支持!!!!error!!!


链接:https://www.jianshu.com/p/f4c2a5d75fed

rebase 到master

1
2
3
4
1. 提交代码到自己分支
2. 切换到master, 拉取最新的代码
3. 切换到自己分支
4. git rebase master

合并提交

https://www.cnblogs.com/amou/p/9465880.html

git rebase -i checkin-uuid (最常用的是类似 git rebase -i HEAD~2)

git push -f origin branch-name-xxxx

同步fork的分支

  1. 先添加 remote 源
    1
    git remote add remote_origin git@github.com:***/***.git
  2. 获取原始仓库分支和对应的提交
    1
    git fetch remote_origin
  3. 更新git remote 中所有的远程repo 所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
    1
    git fetch --all
  4. 把原始remote_origin/master的改变合并到你本地的master分支。这会使你fork的分支master 与上层仓库remote_origin repository同步,而不会丢失你本地所做的改变:
    1
    2
    3
    git merge remote_origin/master
    // or
    git rebase remote_origin/master
  5. 提交本地代码到github
    1
    git push