Git 常用操作

2022-02-20 12:51:37 字數 2517 閱讀 6504

git 的最基礎使用可以檢視我的另一篇部落格:使用git在github上託管程式

下面是講 git 使用的一些常用操作,更多請檢視:git-scm教程

想我們在寫**時候,數次修改並提交 commit,如果在這個過程中我們後悔了,想回到當初的某乙個 commit 點應該如何實現呢?

三種方式:

1】以目標 commit 為基礎新建立乙個分支,並切換到分支上去,這樣並不破壞 base 分支上的任何提交內容,包括你目標 commit 之前的提交,以及目標 commit 之後的提交。

例子:你有乙個 base 分支,上面有 1/2/3/4 四個 commit,你現在突然後悔提交了 3/4 兩個 commit,或者某種原因你需要以 2commit 為基礎,進行另外某個功能的開發。這時候方法 1 執行git checkout 2commitid -b div就是以 base 分支的 2commit 為基礎,建立了子分支 div,並切換到子分支上去,原來的 base 分支並沒有受到影響,這時候你也就能在子分支 div 上看到你的歷史**了。

2】在當前分支上撤銷目標 commit 之後的所有提交,類似於系統還原。

例子:還是上面的 base 分支有 1/2/3/4 個 commit,這時候執行git reset --hard 2commitid就是放棄 3/4commit,回退到 2commit,這時候你也能看到歷史**,但是在 2 commit 之後的 3/4commit 就永久的丟失了。

3】以執行過的指令為目標,進行撤銷操作,類似於第二種方法。

// 方法1

git log (branch) // 檢視commit的id號

git checkout commitid -b 新branch名稱 // (在指定commit的基礎上建立新分支)

// 方法2

git log (branch)

git reset --hard (commit id) // 版本回滾

// 方法3

git reflog

git reset --hard (command id) // 命令撤銷

如果剛開始接觸 git,對 git 的操作不熟悉,只習慣圖形介面,可以參考:github**如何定位到歷史版本(歷史commit點)

寫完**後,我們一般這樣:

git add --all

git commit -m "本功能全部完成"

執行完 commit 後,想撤銷 commit,可以執行:

git reset --soft head^
這樣就成功的撤銷了你的 commit,注意,僅僅是撤回 commit 操作,您寫的**仍然保留。head^ 的意思是上乙個版本,也可以寫成 head~1。如果你進行了 2 次 commit,想都撤回,可以使用 head~2。

引數說明:

補充:

順便說一下,如果 commit 注釋寫錯了,只是想改一下注釋,只需要:

git commit --amend
此時會進入預設 vim 編輯器,修改注釋完畢後儲存就好了。

假如我們現在在 dev 分支上,剛開發完專案,執行了下列命令:

git  add .

git commit -m '提交的備註資訊'

git push -u origin dev

想將 dev 分支合併到 master 分支,操作如下:

// 1.首先切換到 master 分支上

git checkout master

// 2.如果是多人開發的話 需要把遠端 master 上的** pull 下來

git pull origin master

// 3. 然後我們把 dev 分支的**合併到 master 上

git merge dev

// 4.然後檢視狀態

git status

// 5.執行提交命令

git push origin master

解決合併衝突:

有時候合併操作不會如此順利。 如果你在兩個不同的分支中,對同乙個檔案的同乙個部分進行了不同的修改,就會產生合併衝突。

git 會在有衝突的檔案中加入標準的衝突解決標記,這樣你可以開啟這些包含衝突的檔案然後手動解決衝突。

在你解決了所有檔案裡的衝突之後,對每個檔案使用git add命令來將其標記為衝突已解決。 。如果你想使用圖形化工具來解決衝突,你可以執行git mergetool,該命令會為你啟動乙個合適的視覺化合併工具。

參考:

github**如何定位到歷史版本(歷史commit點)

git commit之後,想撤銷commit

git合併分支(一看就懂)

3.2 git 分支 - 分支的新建與合併

git常用操作

git是一款分布式的版本控制軟體,相比svn,功能更強大,自然而然操作更複雜一些。git在本地也是以git版本庫的形式管理,而svn在本地管理的僅是乙個版本庫的副本。很明顯的乙個不同點 git你可以在本地做一些修改,然後commit到本地的版本庫,最後push到伺服器,而svn只要一commit,更...

Git常用操作

有時候我們需要修改之前提交的時候的說明資訊,沒有操作命令可以直接完成,但是使用rebase命令可以實現。例如我們要修改倒數第二次的提交的說明資訊 git rebase i head 3 注意 這裡head 後面跟著的是3而不是2,因為這裡指的是要修改的提交的父提交。之後會進入到文字編輯介面,如下圖 ...

Git常用操作

這裡記錄目前我最常用的操作。因為是最常用的,就不包括什麼建立倉庫,設定使用者資訊啊,這種設定一次的了。先上一張圖 1.分支管理 檢視本地分支 git branch 檢視所有分支 本地 遠端 git branch a 建立分支 git branch 切換分支 git checkout 建立 切換分支 ...