修改.gitignore文件方法
1 | git rm -r --cache 要忽略的文件 |
修改commit的历史信息方法
情况一:修改最近一次commit的信息
- 使用git commit –amend进入命令模式修改信息
- ^O对应的快捷键 “ Ctrl + ‘O’ “
- M-D对应的快捷键 “ ALT + ‘D’ ”
情况二:修改最近更早些的commit的信息
使用git log命令查找要修改的commit信息
使用git rebase -i HEAD~N显示要修改的信息, N表示最近的n个commit,结果如下:
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
29pick 27be481ff feat(ne101): SSBSP-998: Create the ne101 project
pick 679632f15 fix(bug):SSBSP-1018:modify dr mode
# 变基 27be481ff..584136761 到 27be481ff(2 个提交)
#
# 命令:
# p, pick <提交> = 使用提交
# r, reword <提交> = 使用提交,但修改提交说明
# e, edit <提交> = 使用提交,进入 shell 以便进行提交修补
# s, squash <提交> = 使用提交,但融合到前一个提交
# f, fixup <提交> = 类似于 "squash",但丢弃提交说明日志
# x, exec <命令> = 使用 shell 运行命令(此行剩余部分)
# b, break = 在此处停止(使用 'git rebase --continue' 继续变基)
# d, drop <提交> = 删除提交
# l, label <label> = 为当前 HEAD 打上标记
# t, reset <label> = 重置 HEAD 到该标记
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# . 创建一个合并提交,并使用原始的合并提交说明(如果没有指定
# . 原始提交,使用注释部分的 oneline 作为提交说明)。使用
# . -c <提交> 可以编辑提交说明。
#
# 可以对这些行重新排序,将从上至下执行。
#
# 如果您在这里删除一行,对应的提交将会丢失。
#
# 然而,如果您删除全部内容,变基操作将会终止。
#
# 注意空提交已被注释掉注:这里显示pick的顺序是最早的提交显示在上面
这里要不要修改的commit对应的pick改为edit或者e,退出保存。
1
2edit 27be481ff feat(ne101): SSBSP-998: Create the ne101 project
pick 679632f15 fix(bug):SSBSP-1018:modify dr mode这里会提示你使用git commit –amend修改信息,改完之后使用git rebase –continue完成
1
2
3
4
5
6
7
8
9nova2021@nova2021-ThinkStation-K-C2:~/work/ne100_r1$ git rebase -i HEAD~3
停止在 27be481ff... feat(ne101): SSBSP-998: Create the ne101 project
您现在可以修补这个提交,使用
git commit --amend
当您对变更感到满意,执行
git rebase --continue使用git push命令将修改提交到远端,如果push中提示下列信息,则执行git push -f origin SSBSP-998(不推荐)
1
2
3
4
5
6
7
8git push origin SSBSP-998
提示下列信息:
To 192.168.3.224:ne100-embedded-dev/ne100_r1.git
! [rejected] SSBSP-998 -> SSBSP-998 (non-fast-forward)
error: 无法推送一些引用到 'git@192.168.3.224:ne100-embedded-dev/ne100_r1.git'
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见
提示:'git push --help' 中的 'Note about fast-forwards' 小节。网上也推荐使用下列操作解决上述问题, 但没有实测
1
2git fetch origin
git rebase origin/SSBSP-998
更新远端分支的代码修改方法
- 追踪远程分支
1 | git checkout -b dev902 origin/SSBSP-902-merge |
更新代码的修改
git add “修改的文件”
git commit -m “xxxx”
git push origin HEAD:SSBSP-902-merge(在git中,HEAD是一个特殊的指针,它通常指向当前检出的分支的最新提交。HEAD可以被视为一个移动的标签,它始终指向当前所在的提交)