0%

git 常用的函数

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

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

git rebase --> rebase 到最新的master



# 提取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
25
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 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
4、更新git remote 中所有的远程repo 所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
1
git fetch --all
5、把原始remote_origin/master的改变合并到你本地的master分支。这会使你fork的分支master 与上层仓库remote_origin repository同步,而不会丢失你本地所做的改变:
1
2
3
git merge remote_origin/master
// or
git rebase remote_origin/master
6、提交本地代码到github
1
git push