最前面的
CONTROL :可以看到有3个部分
核心记住:绿色圈住的那个部分的功能是大于两个红色部分功能的和,他们的功能有很大的重复之处,重点分析这个绿色部分的功能
1. 先看第一个功能:commit
commit
提交暂存区的内容,如果暂存区为空会有提示,
如果没有写提交注释,会打开文件让书写,有的话,直接提交
commit staged
相当于命令行的:
git commit -m "xxxxxxxxx"
提交暂存区的内容,如果暂存区为空会有提示,
如果没有写提交注释,会打开文件让书写,有的话,直接提交
commit all
相当于命令行的:
git commit -a -m "xxxxxxxxx"
暂存区和工作区一起提交
如果没有写提交注释,会打开文件让书写,有的话,直接提交
undo last commit
撤销上一次的提交,保存到暂存区,可以修改注释重新提交
相当于命令行的:
git reset --soft HEAD~1
Abort rebase
中止正在进行的 Git rebase 操作的命令,恢复到之前的状态
如果已经rebase完成就无效
相当于命令行的:
git rebase --abort
commit staged (Amend)
用于修改上一次的提交,修改注释,然后加上新暂存到暂存区的变更,重新提交
相当于命令行的:
git commit --amend -m "xxxxxxxxx"
commit All (Amend)
用于修改上一次的提交,修改注释,然后加上所有新的变更,重新提交
相当于命令行的:
git commit -a --amend -m "xxxxxxxxx"
commit staged (signed off)
**Commit (Signed Off)**:
- 这个操作,通常用于标识某些提交记录的作者已经签署了一份贡献者许可协议。
- 在开源项目中,开发者使用 Commit (Signed Off) 来确认他们的提交是合法的,并且已经得到了作者的授权。
commit all
(signed off)
这两个有signed off后缀的commit功能,肉眼可见的区别就是,
会在提交注释里面最后加上一行内容:加上姓名和邮箱,
除此之外没有区别
Signed-off-by: xxxx_namexxxx.xxx@xxx.com
效果相当于命令行:在commit时候加上--signoff参数
git commit --signoff --message '这是我的提交消息'
或者
git commit -s -m '这是我的提交消息'
2. 第二个功能:changes
Stage all changes
相当于命令行的:
git add .
或者
git add -A
效果:把所有变更添加到暂存区
Unstage all changes
相当于命令行的:
git reset
效果:把所有已经暂存的文件从暂存区移除
Discard all changes
相当于命令行的:
git checkout .
或者
git restore .
效果:撤销所有变更,复原
3. 第三个功能pull-push-sync
sync的效果= 先执行pull,再执行push
pull:拉去远程代码到本地,然后合并merge
push:推送本地代码到原创
fetch:拉去远程代码到本地,不会合并merge,只是记录变化
Pull rebase
等效于git pull --rebase命令
本地的代码提交变化 附加到 pull的最新提交之后,而不是merge
例如:
git checkout feature # 切换到feature分支
从origin的master分支拉取更新,并使用rebase来整合这些更新
git pull --rebase origin master
原来
本地仓库:A -- B -- C
远程仓库:A -- B -- D
之后
本地仓库:A -- B** -- D**** -- C**
Pull from
让你选择一个任何特定的远程分支来拉取更新,并自动合并到当前分支
4. 第四个功能:remote
功能很明确,删除已久的远程仓库和添加新的远程仓库
5. 第五个功能:Tags
功能很明确,删除本地的标签和添加新的标签,以及删除远程仓库的标签
6.第六个功能:stash
先介绍一些情况:
stash命令用于将当前未提交的修改(即,工作区的修改和暂存区的修改)先暂时储藏起来,这样工作区就会恢复到干净的状态。可以多次暂时储存
注意这个储存和放到暂存区是不一样的,可以理解是另外一个区域
git只会记录跟踪的变化,别人新文件这样的没有跟踪的文件变化是不会记录的
pop stash就是把stash的内容拿回来
drop就是删除掉stash的内容、
7. 其他的功能
不介绍了,因为很少用,会被其他的插件完美替代
版权归原作者 Wanto-Fly 所有, 如有侵权,请联系我们删除。