BY 張建成(prettyEcho@github)
除非另行註明,頁面上所有內容採用知識共享-署名(CC BY 2.5 AU)協議共享
?? 歡迎評論和star ??
git命令列
-
git clone
- 用於將遠端倉庫拷貝到本地
- ssh: git clone username@host:/path/to/repository
- https: git clone https:/path/to/repository.git
-
git config
- 這個命令定義了所有配置,從使用者資訊到倉庫行為等等
- git config --global --edit : 編輯器開啟配置檔案
- git config --global user.name : 配置提交的使用者名稱
- git config --global user.email : 配置提交的郵箱
-
git add
- 將本地工作區(Working dir)改變提交到快取區(Index)
- git add : 提交確定檔案
- git add * : 提交所有更改
- git add -A : 提交tracted和untracted中的檔案提交到快取區
- git add -u : 提交tracted中的檔案提交到快取區
- git add -p : 互動式提交
-
git commit
- 將快取的快照提交到專案歷史
- git commit -m "" : 提交已經快取的快照。它會執行文字編輯器,等待你輸入提交資訊。當你輸入資訊之後,儲存檔案,關閉編輯器,建立實際的提交。
-
git status
- 列出已快取、未快取、未追蹤的檔案(快取區和工作區檔案狀態)
- Changes to be committed: 檔案在快取區
- Changes not staged for commit: 在工作區已經追蹤的檔案
- Untracked files: 在工作區未追蹤的檔案
-
git pull
- 拉取併合並遠端專案(預設拉取marter專案)
-
git push
- 推送本地git到遠端
- git push
- git push origin : 推送本地git到遠端某個分支
- git push --set-upstream origin : 建立遠端分支並推送程式碼
-
git log git
- 命令顯示已提交的快照
-
git checkout
-
這個命令有三個不同的作用:檢出檔案、檢出提交和檢出分支
-
提交層面
- 移動HEAD指標到固定的提交
- git checkout HEAD~2
- git checkout
-
檔案層面
- 用提交版本中的檔案覆蓋本地工作區的檔案
- git checkout HEAD~2 test.txt
- git checkout HEAD (常用)
- 分支層面
- 切換分支
- git checkout
-
-
git reset
-
修改提交版本,會刪除提交歷史(一定要謹慎),切記當把提交推送到遠端後,禁止使用git reset
-
提交層面
- git reset --soft HEAD~2
- git reset --soft
除了在當前分支上操作,你還可以通過傳入這些標記來修改你的快取區或工作目錄:
* --soft – 快取區和工作目錄都不會被改變 * --mixed – 預設選項。快取區和你指定的提交同步,但工作目錄不受影響 * --hard – 快取區和工作目錄都同步到你指定的提交 複製程式碼
常用操作:
* git reset --mixed HEAD / git reset HEAD * git reset --hard HEAD 複製程式碼
-
檔案層面
- 用提交版本中的檔案覆蓋快取區的檔案
- git reset HEAD~2 text.txt
- git reset HEAD
-
-
git revert
- Revert撤銷一個提交的同時會建立一個新的提交。這是一個安全的方法,因為它不會重寫提交歷史。
- git revert HEAD~2
- 會找出倒數第二個提交,然後建立一個新的提交來撤銷這些更改,然後把這個提交加入專案中。
-
git stash
- git stash : 暫存當前正在進行的工作
- git stash pop : 恢復暫存的檔案
- git stash list: 顯示暫存棧中所有暫存的歷史
- git stash apply stash@{1} : 將指定暫存紀錄恢復
- git stash clear : 清空暫存棧
-
git branch
- 建立、列出、重新命名和刪除分支
- git branch : 列出所有分支
- git branch : 建立一個名為的分支
- git branch -d : 刪除指定分支。這是一個安全的操作,Git 會阻止你刪除包含未合併更改的分支。
- git branch -D : 強制刪除指定分支,即使包含未合併更改。如果你希望永遠刪除某條開發線的所有提交,你應該用這個命令。
- git branch -m : 將當前分支命名為 。
-
簡記圖