十分鐘學會正確的github工作流,和開源作者們使用同一套流程

Main 分支形式上屬于項目不屬于任何個人
Feature,分支屬于個人
git checkout -b my-feature,建立分支。
git diff,查看到底哪些做了改變。
git add <changed_file>,把修改的文件放到暫存區(qū)。
git commit,把修改真正的放到 my-feature 里。
git push origin my-feature,推送 my-feature 到遠端。
繼上次 pull 之后主分支有更新,我們需要先拉取主分支,然后再將自己的 my-feature 更新到主分支。
git checkout main,切換到主分區(qū)

git pull origin master,拉取遠端最新的。將遠端的 Main 同步到 Local Main。

切換到 my-feature,但是 my feature 缺少update 的部分。
為了同步 update 部分,我們需要使用 git rebase main。rebase 的意思先把我修改的部分放在一邊,然后把 Main update 部分拿過來,接著在最新修改的基礎上 commit,可能會有rebase conflict,需要你手動去選擇到底要哪一段代碼。

git push -f origin my-feature,強行推送。

將 my-feature 上面的改動合并到 Main
squash and merge,將分支上所有的 commit 合并成一個改變。
當my-feature合并到遠端之后,Local還存在著my-feature,我們需要切換到 Main 然后使用 git branch -D my-feature,刪除 Local 的 my-feaure 分支。

git pull origin master 拉取最新的到本地