git場景化操作

2021-09-29 01:47:36 字數 2161 閱讀 5975

一般**提交流程為: 工作區 -> git status 檢視狀態 -> git add . 將所有修改加入 暫存區 -> git commit -m 「提交描述」 將**提交到 本地倉庫 -> git push 將本地倉庫**更新到 遠端倉庫

場景1

當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令 git checkout – file 。

git checkout

# 丟棄工作區的修改

git checkout -- 《檔名》

場景2

當你不但改亂了工作區某個檔案的內容,還新增到了暫存時,想丟棄修改,分兩步,第一步用命令 git reset head file ,就回到了場景1,第二步按場景1操作。

提交資訊出錯

更改 commit 資訊

git commit --amend -m「新提交訊息」
漏提交

commit 時,遺漏提交部分檔案,有兩種解決方案:

提交錯誤檔案,回退到上乙個 commit 版本,再 commit

git reset

刪除指定的 commit

// 修改版本庫,修改暫存區,修改工作區

git reset head 《檔名》 // 把暫存區的修改撤銷掉(unstage),重新放回工作區。

// git版本回退,回退到特定的commit_id版本,可以通過git log檢視提交歷史,以便確定要回退到哪個版本(commit 之後的即為id);

git reset --hard commit_id

//將版本庫回退1個版本,不僅僅是將本地版本庫的頭指標全部重置到指定版本,也會重置暫存區,並且會將工作區**也回退到這個版本

git reset --hard head~1

// 修改版本庫,保留暫存區,保留工作區

// 將版本庫軟回退1個版本,軟回退表示將本地版本庫的頭指標全部重置到指定版本,且將這次提交之後的所有變更都移動到暫存區。

git reset --soft head~1

git revert

撤銷 某次操作,此次操作之前和之後的commit和history都會保留,並且把這次撤銷作為一次最新的提交

// 撤銷前一次 commit git revert head // 撤銷前前一次 commit git revert head^ // (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作為一次提交進行儲存。 git revert commit

git revert 是提交乙個新的版本,將需要 revert 的版本的內容再反向修改回去,

版本會遞增,不影響之前提交的內容

git revertgit reset的區別

需要暫停當前分支的開發,去修復上線版本的bug

# 如果需要臨時修復bug,可以把當前分支的工作現場「儲藏」起來,等bug修復後恢復此分支工作現場後繼續工作

# 當前分支dev

$ git stash

# 此時檢視工作區是乾淨

# 切換到需要修復bug的分支,建立臨時分支來修復

$ git checkout master

$ git checkout -b issue-101

# 修復完成後切換到master分支,完成合併,刪除臨時分支

$ git checkout master

$ git merge --no-ff -m "merged bug fix 101" issue-101

$ git branch -d issue-101

# bug修復後,切換回dev分支繼續幹活

$ git checkout dev

# 檢視工作現場列表

$ git stash list

# 恢復工作現場

$ git stash pop # 恢復的同時把stash內容也刪了

# 再次檢視工作現場列表,乾淨

$ git stash list

# 可以多次stash,恢復時指定恢復

Git常見場景模型操作

注 下面提交的檔案統一用 readme.md 代替 git 安裝完成之後有一段初始化的操作 本地先新建乙個空目錄叫做myrepo 假如要提交 readme.md 檔案到遠端庫中,可以先把這個檔案放在本地 git 倉庫中 本地庫經歷數次 commit 提交,形成多個不同版本 a 同事在本地 devel...

git初始化操作

git初始化的一些配置 方法一 先將倉庫clone到本地,修改後再push到碼雲的倉庫倉庫 將遠端倉庫轉殖到本地 在轉殖過程中,如果倉庫是乙個私有倉庫,將會要求使用者輸入碼雲的賬號和密碼。按照提示輸入即可。git config global user.name 你的名字或暱稱 git config ...

git版本回退的不同場景操作

git reflog 找到要回退的版本的commit id git reset hard 84686b426c3a8a3d569ae56b6788278c10b27e5b 回退版本首先要回退本地分支 git reflog 找到要回退的版本的commit id git reset hard 84686...