Git 常用命令清單
阿新 • • 發佈:2020-11-25
一、基本運作流程
上圖為工作區、暫存區、本地倉庫、遠端倉庫的關係圖,接下來說一說這四個東西是什麼:
1)workspace:工作區,在本地寫的程式碼,都存放在工作區中。
2)index:暫存區,可以將工作區的檔案暫存在暫存區中,它實際上相當於一個包含檔案索引的目錄樹,可以理解為一個虛擬的工作區,在這裡,記錄了檔名、檔案狀態(時間長、檔案長度)等資訊,若工作區有檔案更新,可以通過 git add 指令將內容存放到暫存區。
3)repository:本地倉庫,用於儲存本地工作區和暫存區提交上來的變更(新增、修改、刪除)過的檔案的地方,可以使用 git commit –m “本次操作描述” 可以將新增到暫存區的修改的檔案提交到本地倉庫中。
4)remote:遠端倉庫,一個專案的開發往往需要多人合作,如果不能妥善保管好主專案中儲存的程式碼及檔案的話,將會存在丟失等情況出現,因此需要一個遠端倉庫來對專案進行儲存,可以使用 git push origin [分支名稱],將本次倉庫儲存的當前分支的修改推送至遠端倉庫中的對應分支中。
二、Git 與 SVN 的區別
1)Git 是分散式的,SVN 不是。
2)Git 把內容按元資料方式儲存,而 SVN 是按檔案。
3)Git 內容完整性比 SVN 的好。
4)Git 沒有一個全域性的版本號,而 SVN 有。
5)Git 分支和 SVN 的分支不同。
三、Git 常用命令
建立版本庫
# 克隆遠端版本庫 git clone <url> # 在當前目錄初始化本地版本庫 git init # 新建目錄初始化本地版本庫 git init <name>
配置
# 顯示當前 git 配置
git config --list
# 設定提交程式碼時的使用者資訊
git config [--global] user.name <"使用者名稱">
git config [--global] user.email <"使用者郵箱">
修改和提交
# 檢視狀態 git status # 檢視變更內容 git diff # 跟蹤所有改動過的檔案 git add . # 跟蹤指定檔案 git add <file> # 刪除檔案 git rm <file> # 檔案重新命名 git mv <old> <new> # 提交所有更新的檔案 git commit -m "commit msg"
撤銷
# 撤銷工作目錄中所有未提交檔案的修改內容
git reset --hard HEAD
# 撤銷工作目錄中指定檔案的修改內容
git reset --hard HEAD <file>
# 撤銷指定的提交
git revert <commit>
分支與標籤
# 顯示所有本地分支
git branch
# 切換到指定分支
git checkout <branch>
# 建立新分支
git branch <new>
# 刪除本地分支
git branch -d <branch>
# 列出所有標籤
git tag
# 刪除標籤
git tag -d <tag>
合併與衍合
# 合併指定分支到當前分支
git merge <branch>
# 衍合指定分支到當前分支
git rebase <branch>
遠端操作
# 檢視遠端版本庫資訊
git remote -v
# 檢視指定遠端版本庫資訊
git remote show <remote>
# 新增遠端版本庫
git remote add <remote> <url>
# 從遠端庫獲取程式碼
git fetch <remote>
# 下載程式碼並快速合併
git pull <remote> <branch>
# 上傳程式碼並快速合併
git push <remote> <branch>