一、 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狀态)