2019年7月4日 星期四

Git Tips

刪除遠端 branch

查看遠端 branch,可以執行 git branch -r
git branch -r | grep -Ev 'master|develop' | cut -d / -f 2- | xargs -I {} sh -c "git push origin :{}"
當刪除完遠端 branch 後,可以執行 git branch -r 確認一下

刪除本地 branch 的紀錄

git branch -r | grep -Ev 'master|develop' | xargs -I {} sh -c "git branch -d -r {}"
執行完成後,可以執行 git branch -a 確認一下。

查目前預設的 branch

git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
or
git ls-remote --symref origin HEAD | awk '/refs/ {print $2}' | awk -F'/' '{print $3}'

Merge 時出現的 error messages

fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.
有二種解法,一種是保留本地端的修改,另一種是拉 upstream 上的來覆蓋本地端的
  • 第一種解法:
    git merge --abort git reset --merge
    合併完之後,記得一定要在重新 commit 一次,然後再重新 git fetch
  • 第二種解法:
    git fetch --all git reset --hard origin/master git fetch upstream git merge upstream/develop git push

抓取遠端 pull requests 下來到 local 端修改

  • 要先確認遠端 PR 的 ID
底下的 ID 跟 BRANCHNAME 要做修改,請先查好對應的 ID 及 BRANCH NAME
git fetch origin pull/ID/head:BRANCHNAME
  • 接下來就可以直接 checkout 到抓下來的 branch 了
git checkout BRANCHNAME

Reference

沒有留言:

張貼留言