一、 git使用时出现的疑惑:
1. 多次git commit 时 暂存区处理一次性push的流程, 2. git 撤销commit 和 删除commit 等的原理
------------------------分割线--------------------------
git add filename
git commit -m "xxx"
1、此时如果想撤销commit,同时保留git add
git reset --soft HEAD^
2、删除工作空间改动代码,撤销commit,撤销git add .
git reset --hard HEAD^
3、不删除工作空间改动代码,撤销commit,并且撤销git add .
git reset --mixed HEAD^
和 git reset HEAD^ 一样
4、推到远程
git push -f
如果只想修改下git commit 的注释内容:
git commit --amend
还没git commit ,只撤销git add,此时会保留本地修改(绿字变红字):
git reset HEAD filename
全部:git reset HEAD
不想保留本地修改:
git checkout filename
————————————————
版权声明:本文为CSDN博主「怠惰的小小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35462323/article/details/87711083
----------------------------分割线 --分割线内为引用其他博主内容-------------------------------
3. 解决冲突之后 git add . git commit会将暂存区内容推送到远程吗?
经过本人冒着代码么得得危险测试一下,git commit --amend --no-edit 这玩意儿在commit之后,push之前去修改commit的信息是没有问题的,但是并不会推送代码到远程。如果已经推送到远程了,使用git commit --amend --no-edit也不会改变已经推送到远程的任何东西。
二、 git 个人使用总结:
4.在本地工作区做了无用的修改后,可以用远程remote的代码强制将覆盖本地代码,操作如下
git fetch –all
git reset –hard origin/master
5. git remote set-url origin +项目地址
6. 更新远程分支 git fetch
7. git fetch -p 清除已经删除的远程分支,更新的是红色字体的remotes/origin/分支名这部分分支 ;上方白色字体的也就是没有前缀地址的分支名就是本地分支,删除本地分支可以使用git branch -d 分支名(删除前检查merge状态) 或者是 git branch -D 分支名 (强制删除,不会检查merge状态)
8. 时隔多日,补充一条。 git commit --no-verify 跳过校验格式,直接进行提交。