天天看點

git 使用總結 v0.2

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