1. 程式人生 > >在macOS上使用GitHub的超詳細指南

在macOS上使用GitHub的超詳細指南

目錄

  1. 前言
  2. 註冊Github賬號
  3. 搭建Git環境
  4. 新增遠端庫(GitHub)
  5. 總結

1. 前言

  • Git:目前世界上最先進的分散式版本控制系統。
  • GitHub:免費的遠端倉庫,可用來託管自己的開源專案。它利用了Git強大的克隆和分支功能,讓我們參與別人的開源專案和讓別人參與自己的開源專案變得簡單高效。
  • 看到這裡,相信很多人對著兩個概念很模糊,廖雪峰老師生動地解釋了這兩個概念:GitGitHub

2. 註冊GitHub賬號

3. 搭建Git環境

GitHub其實就是Git的Hub(樞紐),在利用GitHub託管我們的專案之前。我們需要先在我們的計算機中安裝、搭建好Git環境。

首先是安裝Git,有兩種方法:

(1) 先安裝homebrew(點選),再通過它安裝Git。

[1] 在Mac終端(Terminal)中輸入命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

按回車等待它自己安裝就可以了,安裝時間會較長,請耐心等待。 在這裡插入圖片描述 [2] 檢查是否安裝成功,在Terminal中輸入命令:

brew

在這裡插入圖片描述 如果出現這樣的頁面,證明homebrew安裝成功。

[3] 安裝Git,在Terminal中輸入命令:

brew install git

接著就是再次耐心地⌛️等待了?? 在這裡插入圖片描述

2. 通過Xcode安裝Git

[1] 安裝Xcode從App Store安裝Xcode(Apple官方IDE,功能非常強大)。Xcode集成了Git,不過沒有預設安裝,需要手動安裝Command Line Tools

[2] 安裝Command Line Tools:在Mac終端(Terminal)中輸入命令:

xcode-select --install

根據提示進行安裝。

[3] 檢查是否安裝成功,重新在Terminal中輸入

xcode-select --install

此時它會提醒你:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

其次是建立版本庫:

版本庫:又名倉庫,英文名repository,我們可以簡單理解成一個資料夾?,裡面的所有檔案?都由Git來管理。Git能跟蹤每個檔案的新增修改刪除,即可以追蹤歷史,還可以還原任何一步的操作。

建立資料夾

我們在Users目錄下建立一個名為test的資料夾,它就是我們未來的版本庫(因為此時它只是普通的一個資料夾,我們待會對它進行進化)。開啟Mac終端(Terminal),依次輸入以下程式碼(每行前面的$不用輸入):

$ mkdir test
$ cd test
$ pwd

程式碼解釋:

  1. mkdir test:建立一個名為“test”的資料夾
  2. cd:進入“test”資料夾
  3. pwd:顯示當前路徑

操作截圖如下: 在這裡插入圖片描述 我們可以在Finder中看到該資料夾: 在這裡插入圖片描述

資料夾 --> 版本庫

我們通過git init指令讓“test”資料夾成功進化成版本庫:

$ git init
Initialized empty Git repository in /Users/marsguo/test/.git/

此時我們可以在finder中看到“test”資料夾中多出了一個隱藏檔案:.git 在這裡插入圖片描述 PS:很多朋友不知道怎麼顯示隱藏檔案,指令如下:

#顯示隱藏檔案
defaults write com.apple.finder AppleShowAllFiles -bool true 
#不顯示隱藏檔案
defaults write com.apple.finder AppleShowAllFiles -bool false

記得指令執行後,快捷鍵option+command+esc,重啟Finder

此時,版本庫建立完成。

把檔案放到版本庫

此時我們就可以把自己專案檔案放到版本庫裡面。在這裡我使用我一個Python檔案放進“test”裡進行演示,大家可以使用自己的任何檔案進行操作練習。(注意:強烈建議大家使用重要檔案進行試驗,大家都看得到的啊!)在這裡插入圖片描述

把檔案(可以一個,也可以多個)放到版本庫中有兩步:
  1. 用命令git add把檔案新增到倉庫(大家可用其他檔案代替我的bmi.py檔案)
$ git add bmi.py

如果發現指令完成後,沒有任何顯示,這就對了。你不信?那你用以下指令看看:

$ git status

這時候終端會顯示:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   bmi.py

看到了嗎? new file: bmi.py ,說明檔案新增到版本庫成功啦!

  1. 用命令git commit把檔案提交到倉庫。

這時候大家可能會鬱悶,好端端地為什麼還需要commit一下呢?讓我給大家好好解釋一下。

Git的版本庫裡有兩個部分,一個稱為stage的暫存區,另外一個為分支master,以及指向master的一個指標叫HEAD。我們可以通過下面?的圖理清一下思路。(本圖來自廖雪峰老師的官方網站

所以,git add命令實際上就是把要提交的所有修改放到Stage,然後,執行git commit就可以一次性把暫存區的所有修改提交到分支。也就是說,我修改好了,我就把檔案提交到分支那裡。 圖片來自廖雪峰的官方網站 後面的時候我們會講到我們通過commit把我們的專案放到遠端倉庫(GitHub),其實就是把一個分支master放到GitHub裡面,所以只需要我們commit專案就到了GitHub裡面了。

現在我們來看看怎麼樣commit

$ git commit -m "add a bmi.py file"

簡單解釋一下這條指令:-m後面輸入的是對這次提交的說明。不用擔心,-m後面輸入的可以是隨意的內容,不過你輸入有意義的內容,比修改了那一部分、添加了什麼內容,方便你在歷史記錄中找到改動記錄。 在這裡插入圖片描述 通過上圖,我們就知道了,bmi.py檔案已經順利地轉移到了master裡面了。 記得每一次得更改都需要經歷這個2個步驟 : git add <filename> --> git commit -m <message>

4. 新增遠端庫(GitHub)

  1. 本地Git倉庫和GitHub倉庫連線 由於你的本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以,在進行下一步驟之前,需要先設定一下它們的連線:
第一步 建立SSH Key

在Users目錄(使用者主目錄)下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsaid_rsa.pub這兩個檔案,如果已經有了,可直接跳到下一步。如果沒有,開啟終端Terminal建立SSH Key:

$ ssh-keygen -t rsa -C "[email protected]"

你需要把郵箱換成你註冊GitHub時使用的郵箱,然後一路回車,使用預設值就可以了,可以不設定密碼。

建立成功之後,你就可以在Users目錄中找到.ssh(它為隱藏檔案,不過通過上面顯示.git資料夾,你也已經所有檔案可見了),裡面有id_rsaid_rsa.pub兩個檔案,這兩個就是SSH Key的祕鑰對,id_rsa是私鑰,不能洩露,id_rsa.pub是公鑰,可以放心地告訴任何人。

第二步 和GitHub相連

點選你的頭像 --> “Setting” 在這裡插入圖片描述 點選“SSH and GPG Keys” --> “New SSH Key” 在這裡插入圖片描述 填上任意Title,在Key文字框裡貼上id_rsa.pub檔案的內容(打不開id_rsa.pub檔案的朋友們,滑鼠右擊id_rsa.pub,選擇“開啟方式” --> “TextEdit (default)”): 在這裡插入圖片描述 之後點選“Add SSH Key”按鈕就可以了。 3. 點選右上角的+,建立一個新的版本庫(create a new repository) 在這裡插入圖片描述 4. 輸入版本庫的名稱(Repository name),其他選項預設,點選建立版本庫(Create repository) 在這裡插入圖片描述 5. 把第二部分的指令複製到終端,把我們現有的本地倉庫push到GitHub上。(英語好的同學也可以看到第一部分指令是重新建立一個全新的沒有本地倉庫的版本庫,第三部分指令則是把已有的程式碼放到一個新的版本庫中,大家之後也可以自行進行嘗試。)

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 最後我們就可以看到,我們的檔案已經成功來到GitHub上面了!

5. 總結

最後我們總結一下,以後每一次更新檔案,我們都需要使用 git add <filename> --> git commit -m <message> ?

git remote add origin [email protected]:marsguo18/test.git
git push -u origin master

我們的專案就正式加入到GitHub中啦!