關於GitHub


Posted by stella572322 on 2020-06-14

講GitHub之前先簡單說明branch概念:

What branch?
branch是一個由主幹分散出來的分支概念
例如:一個做為主幹專案master,底下會有很多branch,有的負責修正bug,有的負責新建新版本...等,等到確定該breach完成後,才會合併(merge)回主幹(master)上
branch使用的好處在於branch會備份master的資料,branch在更動資料的情況下,不會改變原本master的資料,即使branch發生問題也不會影響到master,可以確保原始資料的完整

  • 注意:對資料夾版本控制後,在沒有新建branch的情況下,系統會預設第一個創建的branch就代表master。

branch操作

  • git branch <name>: 新增一條新的 branch
  • git branch -v:查看目前有哪些 branch,顯示目前在哪一條 branch
  • it branch -d <name>:刪除 branch
  • git checkout <name>:切換到別的 branch
  • git checkout -b <name>:新增一條新的 branch 並直接切換過去

合併(merge)分支(branch)

步驟1.先 git checkout master 切換到 master
步驟2.執行 git merge new-feature 將 new-feature 這條分支合併到master

  • git merge記憶小技巧: master(主幹) git merge(合併掉) new-feature(分支)

合併(merge)發生衝突(conflict)

在 merge 的時候,若master與branch相同地方有更改過,系統就會判斷發生衝突,此時需要手動將衝突的部分修改完成,才能完成 merge 的動作。

Git V.S GitHub

  • Git:版本控制的程式(具體化形容:把電腦資料夾做版本控制)
  • GitHub:類似託管區的概念,將專案Git版本控制後,存放在GitHub上的倉庫(repository),你可以在GitHub上建立多個倉庫(repository)。
  • 注意:如果專案用GitHub託管版本控制的話,就一定要使用Git做版本控制。但專案用Git做版本控制也可以上傳到其他網站託管。
  • 注意:你可以用Git但不用GitHub,但你要用GitHub就一定要會用Git。

push:自己電腦 推到→ GitHub
把本地端repository同步到遠端 GitHub repository

例如 git push origin new-feature :將本地 new-feature 這條 branch,上傳到 GitHub 遠端。

pull:GitHub →拉到 自己電腦
把遠端GitHub repository上面的資料,同步到本地端repository

例如git pull origin 將 GitHub 上 master 的資料同步到自己電腦

clone:GitHub →下載到 自己電腦
把 GitHub repository 的資料下載到本地端repository

  • 注意:若是 clone 別人的 repository,我們無權修改別人repository的內容

fork: 複製一份別人的repository,變成自己的repository

  • 注意:可以編輯自己的那份 repository,並且可以pull回GitHub

實用功能介紹:

1.commint了但是又想改commit massage
* git commit -amend 可以更改 commit 名稱與內容

2.commint了但是我又不想commit

  • git reset HEAD^:表示回到上一個版本
    • HEAD 指的是最新的版本
    • 指的是上一個
      git reset HEAD^ --hard 上一個commint整個刪除不要
      git reset HEAD^ 上一個commint取消版本控制但是保留修改的檔案

3.我還沒commint,但我改的東西我又不想要了
git checkout --<file> 把某個檔案復原
git checkout -- .把全部檔案復原

4.我想改branch的名字
git branch -m <名稱>
checkout到要改名的 branch,再用git branch -m <名稱>來改名

5.我想摘錄遠端的branch給你
git checkout <branch名稱>可以直接拉下遠端的 branch










Related Posts

Markdown 功能筆記

Markdown 功能筆記

從物件理解變數 / Immutable 觀念整理

從物件理解變數 / Immutable 觀念整理

漫談傳輸介面-SATA

漫談傳輸介面-SATA


Comments