[Note] Git 使用

Jacky | Jul 23, 2022 min read

此內容由 Notion 編輯並經由 Notion API 自動轉成 Hugo 頁面
The content write by Notion, and use Notion API convert to Hugo page.

基本設定

查看設定、設定帳號

git config --list
git config --global user.name "XXX"
git config --global user.email "XXXXXX@XXX.XXX"

移除設定

git config --global --unset user.name
git config --global --unset user.email

建立新的本地端 Repository

git init

複製遠端的 Repository 檔案到本地端

git clone [Repository URL]

提交

檢查本地端檔案異動狀態

git status

加入檔案追蹤

git add .

提交(commit)目前的異動並透過 -m 參數設定摘要說明文字。

git commit -m "提交說明內容"

查看先前的 commit 記錄

git log

同步本地與遠端 Repository

將本地端 Repository 的 commit 發佈到遠端,例如 GitHub

git push

發佈至遠端指定的分支(Branch)

git push origin [BRANCH_NAME]

拉取遠端 Repository 最新的 commit

git pull

分支

查看分支

git branch

建立分支

git branch [BRANCH_NAME]

建立並跳到該分支

git checkout -b [BRANCH_NAME]

修改分支名稱

git branch -m <OLD_BRANCH_NAME> <NEW_BRANCH_NAME>

強制刪除指定分支(須先切換至其他分支再做刪除)

git branch -D [BRANCH_NAME]

合併分支

git merge [BRANCH_NAME]

注意:
要先 checkout 至被合併的分支
每次合併都要確認分支關係

復原

git reset HEAD^

強制恢復到指定的 commit(透過 Hash 值)

git reset --hard [HASH]

切換到指定的 commit(與 git checkout [BRANCH_NAME] 相同)

git checkout [HASH]

顯示參照記錄 (與 git log 不同,顯示實際變更歷史)

git reflog

強制放棄本地修改(新增、删除文件)

git checkout . && git clean -df

合併前幾個commit

git reset --soft HEAD~3 && git commit --edit -m"$(git log --format=%B --reverse HEAD..HEAD@{1})"

refer: git - How do I squash my last N commits together? - Stack Overflow

Submodules

將別人的 git 掛入到你目前 git 的任何位置,相關說明參考這裡

comments powered by Disqus