zuppachu / Joanne-s-Learning-Blog

程式導師實驗計畫第二期 之 Coding 學習紀錄。
2 stars 0 forks source link

[GIT101] #20

Open zuppachu opened 5 years ago

zuppachu commented 5 years ago

用資料夾比喻 Git 的原理

  1. 需要新版本:開一個資料夾
  2. 不想加入版本控制:不要加入資料夾
  3. 避免版本號衝突:用看似亂數的東西當作資料夾名稱
  4. 知道最新版本:用一個新檔案來存放版本資料
  5. 知道歷史軌跡:用一個新檔案來記錄歷史軌跡,知道亂數檔案名先後順序

Git 版本控制指令

#

git commit 的時候出現錯誤,跳出了一個要你設定帳號跟姓名的畫面,請輸入以下指令: git config --global user.name "your name" git config --global user.email "youremail"

#

#

#

#

git branch:切換版本號 或是 切換到某分支去

遇到衝突怎辦? 手動解決~

  1. CONFLICT:Merge conflict in XX檔
  2. git status 檢查哪個檔案 unmerged
  3. 進入 XX檔
  4. 看見以下內容,選擇要更改的內容,最後用 git commit -am "新檔名" 儲存。
    <<<<<< HEAD (表示目前所在的 branch)
    xcvvbnm (內容)
    ====== (分隔線)
    >>>>> new-feature (分歧的支線)
    djfoieejfioe (內容)

    Git狀況劇

    我 commit了,但我想改 commit message

    git commit --amend:可更改 commit message

我 commit了,可是我後悔了

git reset HEAD^ = git reset HEAD^ --soft: 上一個 commit 版本不要了,但內容還是要,只想將內容做一些修正。修正後,再 commit 回去。上一個 commit 會直接被修正的取代掉。

git reset HEAD^ --hard: 直接刪除上一個 commit 版本,上一個 commit 版本內容也一併都被刪除掉。

我還沒 commit,但我改的內容我不想要了

git checkout -- 檔案名稱:此檔案回復成前次內容 git checkout -- .:將有修改但未 commit 的所有檔案都回復成前一次的內容

我想改 branch 的名字

git branch -m 想改成的新名稱: 先切換到要修改名稱的分支,再輸入 git branch -m 想改成的新名稱即可修改

想把遠端的 branch 抓下來

git checkout 分支: 換到某條分支 或 將遠端的分支抓下來

zuppachu commented 5 years ago

注意事項

  1. 改東西前一定要新開 branch
  2. 一定要在 master 下,新開 branch
  3. 要新開或切換 branch 時,先用 git status 確認,有修改的東西要先 commit
  4. 老師 merge 完的 branch ,不要在用了!老師 merge 完後,先與電腦同步,刪除電腦上(本機端)分支。如有想要在修改的地方,再重開 branch ,再 PR。
  5. 已 PR 後發現還有地方想修改時,在電腦上該 branch 修改,之後再 push 上遠端即可
  6. 已 PR 後,老師說作業有地方要修正的話,延用原 branch 修改,再 push 上遠端。(同第五點方式。)
zuppachu commented 5 years ago

參考資料

同學筆記 1:Git & github 重點筆記 同學筆記 2:交作業與同步流程