Git程式碼託管常用命令

Y小星 發表於 2020-11-22
Git

設定使用者名稱郵箱

git config user.name "使用者名稱"

git config user.email "Email 地址"

 

git init在專案根目錄下初始化一個.git的隱藏目錄,用來儲存版本資訊。

 

git add儲存物件和更新暫存區

git add --all 對當前專案所有變動的檔案

git add . 對當前目錄及以下變動的檔案

 

git commit

將暫存區保留變動的目錄結構和說明提交寫入歷史,生成當前專案的一個快照,專案的歷史就是由不同時點的快照構成。

git checkout

命令用於切換到某個快照:git checkout c9053865e9dff393fd2f7a92a18f9bd7f2caa7fa

 

branch

分支(branch)就是指向某個快照的指標,分支名就是指標名。而且分支會自動更新,如果當前分支有新的快照,指標就會自動指向它。比如,master分支就是有一個叫做master指標,它指向的快照就是master分支的當前快照。

Git 有一個特殊指標HEAD, 總是指向當前分支的最近一次快照。Git 提供了簡寫方式,HEAD^指向 HEAD的前一個快照(父節點),HEAD~6則是HEAD之前的第6個快照。

每一個分支指標都是一個文字檔案,儲存在.git/refs/heads/目錄,該檔案的內容就是它所指向的快照的二進位制物件名(雜湊值)。

分支指標是動態的。原因在於,下面三個命令會自動改寫分支指標。

git commit:當前分支指標移向新建立的快照。

git pull:當前分支與遠端分支合併後,指標指向新建立的快照。

git reset [commit_sha]:當前分支指標重置為指定快照。

 

git log檢視版本歷史,可以配合git reset來回退版本

git reset --hard HEAD回滾版本

git fetch 把遠端庫的程式碼更新到本地庫

git merge合併程式碼

git pull把遠端庫的程式碼更新到工作臺,效果等於git fetch + git merge

git push 把本地庫的修改提交到遠端庫中

git status檢視當前分支有哪些修改

git diff 檢視當前沒有add的內容

git clone克隆一份程式碼到本地倉庫