git使用

r_0xy發表於2024-11-30

下載程式碼

git clone 

設定提交人的資訊

git config --global user.email "郵箱"
git config --global user.name "名字"

切換分支

右鍵,checkout

建立新分支

git checkout -b 新分支的名字

把更改儲存到暫存的更改

法1:git add 檔名字
法2:vscode直接點

新增提交訊息

git commit -m "訊息"

傳到遠端

git push

撤回上一次提交

git reset --hard head #當前版本
git reset --hard HEAD^ #回退到上一個版本
git reset --hard HEAD^^ #回退到上上一個版本
git reset --hard HEAD~3 #回退到往上3個版本
git reset --hard HEAD~10 #回退到往上10個版本

顯示遠端倉庫

git remote -v 

新增新倉庫

git remote add 新倉庫名字 ssh地址
git fetch --depth 10 #新增完新倉庫之後fetch一下

合併分支

merge

image-20241130002330507

  • 當你在目標分支(如 main)上執行 git merge feature-branch 時,Git 會將 feature-branch 分支的更改合併到當前分支。
  • 如果兩個分支沒有衝突,Git 會自動建立一個新的合併提交,將這兩個分支的歷史記錄結合在一起。
  • 如果存在衝突,Git 會要求你手動解決衝突,然後建立合併提交。

rebase

  • 命令列直接rebase會將當前分支接到目標分支後

    這種情況會導致提交歷史更改,同步會有衝突,合作時不推薦

  • 透過 GitHub PR rebase merge 會將目標分支接到當前分支後

image-20241130002721622

將特定提交引入當前分支

將目標提交的內容作為當前分支的新提交,而不是將目標提交的所有歷史記錄(包括目標提交之前的提交)都引入到當前分支。

找到那個提交的雜湊,然後用下面的指令

image-20241130002957122

git cherry-pick <commit_hash>