Git(3) 版本控制工具的高階用法

2021-09-25 06:29:03 字數 2421 閱讀 8952

在學習git的版本控制工具之前,需要做好準備工作。所謂的準備工作就是要給乙個專案執行提交操作,這裡仍然選擇上一節所使用的專案(g:/androidproject/bluetooth)來演示。

輸入以下命令後,準備工作就完成了。

git init

git add .

git commit -m "first commit"

分支是版本控制工具中比較高階且比較重要的乙個概念,它主要的作用就是在現有**的基礎上開闢乙個分叉口,使得**可以在主幹線和分支線上同時進行開發,且相互之間不會影響。分支的工作原理示意圖如下所示:

分支的英文名是branch,如果想要檢視當前的版本庫當中有哪些分支,可以使用以下命令:

git branch
結果如圖所示:

由於該專案中還沒有建立過任何分支,因此只有乙個master分支存在,這也就是前面所說的主幹線。現在可以建立乙個分支,命令如下:

git branch version1.0
這也就建立了乙個名為version1.0的分支,通過再次輸入git branch命令可以檢查一下現有的分支,結果如圖所示:

從圖中可以看到,master分支的前面有乙個「*」號,說明目前這個專案是在master分支上的,要想切換到新建的version1.0分支,可以使用以下的命令:

git checkout version1.0
再次輸入git branch來進行檢查,結果如圖所示:

從圖中可以看到,該專案已經成功切換到version1.0這個分支上了。

需要注意的是,在version1.0分支上修改並提交的**將不會影響到master分支。同樣的道理,在master分支上修改並提交的**也不會影響version1.0分支。因此,如果在version1.0分支上修改了乙個bug,在master分支上這個bug仍然是存在的,要解決這個問題,就可以使用以下的命令來完成合併操作:

git checkout master

git merge version1.0

執行結果如圖所示:

通過這兩行命令,就可以把version1.0分支上修改並提交的內容合併到master分支上。當然,在合併分支的時候還有可能出現**衝突的情況,這個時候只能靜下心來慢慢解決這些衝突,git沒法起到幫助了。

最後,若是不需要version1.0這個分支了,就可以使用如下命令將這個分支刪除掉:

git branch -d version1.

0

git clone
之後若有人在這份**的基礎上進行了一些修改和提交,就需要借助push命令來把本地修改的內容同步到遠端版本庫上,命令如下:

git push origin master
其中origin部分指定的是遠端版本庫的git位址,master部分指定的是同步都哪乙個分支上,上述命令就完成了將本地**同步到 這個版本庫的master分支上的功能。

除此之外,git提供了兩種命令來完成上面的功能,分別是fetch和pull,fetch的語法規則和push類似,如下所示:

git fetch origin master
執行這個命令後,就會將遠端版本庫上的**同步到本地,不過同步下來的**並不會合併到任何分支上去,而是會存放到乙個origin/master分支上,這時可以通過diff命令來檢視遠端版本庫上到底修改了哪些東西:

git

diff origin/master

之後再呼叫merge命令將origin/master分支上的修改合併到主分支上即可,如下所示:

git merge origin/master
而pull命令則是相當於將fetch和merge這兩個命令放在一起執行,它可以從遠端版本庫上獲取最新的**並且合併到本地,命令如下:

git pull origin master

Git(2) 版本控制工具高階

倉庫已經建立好了,接下來就應該去提交該專案中的 接下來只需要去思考是否需要將所有的檔案都加入到版本控制中。git提供了一種可配性很強的機制允許使用者將指定的檔案或目錄排除在版本控制之外,它會檢查 倉庫的目錄下是否存在乙個名為.gitignore的檔案,如果存在的話,就去一行行讀取這個檔案中的內容,並...

02 版本控制工具SVN

subversion 使用命令列控制版本 納入控制 svn add 檔名 更新 svn update 檔名 上傳 svn commit 檔名 日誌資訊 svn commit 日誌資訊 檔案 在eclipse中安裝svn外掛程式 使用eclipse對專案進行版本控制 檢出 右鍵選擇 import sv...

Git學習01 版本控制

版本控制是一種記錄乙個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。主要可以分為以下三類 1.1 本地版本控制系統 許多人習慣用複製整個專案目錄的方式來儲存不同的版本,或許還會改名加上備份時間以示區別。這麼做唯一的好處就是簡單。不過壞處也不少 有時候會混淆所在的工作目錄,一旦弄錯檔案丟了資...