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 建立 切換分支 ...