1. 程式人生 > >Git | 用Git進行版本控制 · 小白入門

Git | 用Git進行版本控制 · 小白入門

使用Git進行版本控制
以下內容主要參考《Python程式設計——從入門到實踐》

1.安裝Git
在linux系統中,執行命令:sudo apt-get install git
在windows系統中,須訪問http://msysgit.github.io/ ,並下載

2.在專案中使用git
2.1 建立專案
首先建立一個要進行版本控制的專案,建立資料夾,並將其命名為git_practice。在這個資料夾中建立一個簡單的python程式:
hello_world.py
print("Hello world!")

2.2 忽略檔案
使用檔案.gitignore可避免專案混亂,開發起來更加容易。
副檔名為.pyc的檔案是根據.py檔案自動生成的,因此我們無需讓Git跟蹤他們。這些檔案儲存在目錄__pycache__中。為讓Git忽略這個目錄,建立一個名為.gitignore的特殊檔案(檔案以句號開頭,且沒有副檔名),並在其中新增下面一行內容(如果是python2.7, 則需要將__pycache__改為*.pyc):
.gitignore
__pycache__/   

2.3 初始化倉庫
完成上述兩項後,專案資料夾git_practice中將包含一個hello_world.py和一個.gitignore檔案,可以初始化一個Git倉庫了。為此可在終端cd到資料夾git_practice,並執行命令:
git init
表明Git在git_practice中初始化了一個空倉庫。倉庫是程式中被Git主動跟蹤的一組檔案。Git用來管理倉庫的檔案都儲存在隱藏的.git/中,在終端ls -a命令可以看到這個檔案。如果刪除這個目錄,將丟棄專案的所有歷史記錄。

2.4 檢查狀態
git status
輸出將告知我們,[1].你位於的分支 master/.../...
           [2].專案中未被跟蹤的檔案
           [3].其他提醒

2.5 將檔案加入到倉庫中
git add {檔名...} / .

2.6 執行提交
git commit -am "Started Project."
我們執行git commit -m "message"以拍攝專案的快照。標誌-m讓Git將接下來的訊息"Started Project"記錄到專案的歷史記錄中。標誌-a讓Git將倉庫中所有修改了的檔案都加入到當前提交中。

2.7 檢視提交歷史
git log
每次commit時,Git都會生成一個包含40字元的獨一無二的引用ID。它記錄提交是誰執行的,提交的時間以及提交時指定的訊息。Git提供了一個選項,讓你能夠列印歷史條目的更簡單的版本。
git log --pretty=oneline

2.8 撤銷修改
git checkout .
命令git checkout讓你能夠恢復到以前的任何提交。命令git checkout .放棄自最後一次提交後所做的所有修改,將專案恢復到最後一次提交的狀態。

2.9 檢出以前的提交
2.9.1你可以檢出提交歷史中的任何提交,而不僅僅是最後一次提交,為此可在命令git check末尾指定該提交的引用ID的前6個字元。通過檢出以前的提交,你可以對其進行稽核,然後返回到最後一次提交,或者放棄最近的工作,並選擇以前的提交。
git log --pretty=oneline
git checkout be017b

2.9.2檢出以前的提交後,你將離開分支master,並進入Git所說的分離頭指標(detached HEAD)狀態。HEAD表示專案的當前狀態,之所以說我們處於分離狀態,是因為我們離開了一個命名分支(這裡時master)。要回到master,可檢出它:git checkout master

2.9.3在檢出以前的提交後,最好不要對專案做任何修改。然而,如果參與專案開發的人只有你自己,而你又想放棄較近的所有提交,並恢復到以前的狀態,也可以將專案重置到以前的提交。
git log --pretty=oneline
git reset --hard be017b

2.10 刪除倉庫
如果倉庫的記錄被你搞亂了,而你又不知道如何恢復,這種情況下,應首先尋求幫助。
如果無法恢復而且參與專案的只有你一人,可繼續使用這些檔案,但要將專案的歷史記錄刪除——刪除目錄.git。這不會影響任何檔案的當前狀態,而只會刪除所有的提交,因此你將無法檢出專案的其他任何狀態。
rm -rf .git