Git使用筆記

2021-09-08 19:18:26 字數 1005 閱讀 2030

git使用筆記

分類: linux

2012-12-17 12:51:45

在日常工作中git的使用會遇到各種問題,現將使用過程中的問題總結一下: 

1. 使git commit線性增長 

在使用git的過程中,如果使用git merge操作後,再通過gitk --all檢視log記錄會發現commit資訊多出了岔路。 

首先看目前我倉儲中的所有branch上的commit.

如圖所示:checkpoint2上有乙個提交,checkpoint1上有2個提交。現在想把checkpoint2上的提交merge到checkpoint1上。

$ git checkout checkpoint1 

$ git merge checkpoint2 

$ gitk --all

如上圖所示: checkpoint1有兩個父提交,即從master後走了分叉路。如果提交checkpoint1這個commit到伺服器的話,伺服器也會出現類似的問題。在這樣的commit log資訊以後查閱的時候雜亂無章。 

可以通過以下的方式操作.

$ git checkout checkpoint1 

$ git log checkpoint2 

$ git cherry-pick e1d2aec274915cb2f1e3418f8061079d2c31982e

這樣checkpoint2上的提交就被放到了checkpoint1的最上方. 對於checkpoint1上的提交達到了線性增長的效果.此時branch checkpoint2對於我們來說就可以刪除了.如圖所示

2. git rebase 

當我們在某個倉儲修改完**並commit後,就需要push到遠端伺服器了。可是如果有別人提交了**,會導致push操作失敗的。這是可以使用git rebase操作。 達到的效果就是別人的commit會插入到你本地的commit的下方,即commit線性增長

$ git rebase -i korg/aster 

$ git log

git 使用筆記

git 使用筆記 初始化資訊 git config user.name name git config user.email com git config core.editor vim git init 初始化資訊 從遠端pull git clone git url git pull push 到...

git使用筆記

回滾 git checkout sql 沒有 git add 之前 執行回滾到原始狀態 git reset head sql 執行git add之後,但是沒有 git commit之前 操作,然後在執行 git checkout git remote v 檢視遠端倉庫詳細資訊 git log log...

Git使用筆記

用了一段時間的tortoisgit,基本能滿足目前的需求。但是當切換到linux的工作環境時,就有點不知所措了,於是又複習了一下git的命令,相對於第一次學習,又有了新的認識。工作區 working tree 所有有改動的檔案都存在於工作區。暫存區 index 對於已經存在於工作區的檔案,執行git...