Hello git
git 是一套版本控制軟體,類似的概念還記得小時候打電動每次破關,遊戲都會幫你儲存,死了又可以在同一個地方重新開始.因此程式每寫一個版本就儲存起來,可以看到每次版本的進程,網路上有很多更詳細的介紹,我們就直接開使安裝吧!
環境建立
- 開啟 Terminal,進到要建專案的目錄底下後,建立資料夾,透過指令
mkdir xxxx
1 | mkdir hello_git (創建 資料夾名稱) |
- 接下來進入到我們剛建立的專案
cd xxxx
1 | cd hello_git (進入 資料夾名稱) |
git 初始化建立repository
- 進入資料夾後開始 git 初始化 (Initialized empty Git repository)
1 | git init |
- 接著透過指令
ls -a
可以看到剛git init
後產生的.git
1 | ls -a (查看該目錄所有檔案) |
- 接著利用
git status
取得現在檔案的狀態,像是我們若有修改檔案、刪除、新增、commit…等,就可以透過這個指令看到目前所有的狀況
1 | git status |
建立檔案
- 我們先透過
touch
指令建立一個hello.txt
的檔案
1 | touch hello.txt (建立 hello.txt) |
- 接著利用
vim
指令來編輯hello.txt
1 | vim hello.txt |
- 接著按下
i
後,隨意輸入內容,接著書入:wq
存檔後離開
1 | i (insert,隨意輸入字) |
1 | :wq (write & quit,存擋並離開) |
註冊檔案
這時透過
git status
查看目前狀態,會發現 hello.txt 已變紅色,git 偵測到hello.txt
有新的檔案接著可以透過
git add XXX
指令將檔案hello.txt
加入1
git add hello.txt
加入檔案後我們在利用
git status
指令查看,會發現hello.txt
已變綠色,代表狀態從 working area 轉變成 staging area)
提交本次修改
- 我們將本次的修改做個紀錄,這樣之後可以透過這些紀錄快速了解本次修改的目的,透過
git commit -m "XXX"
指令,因為我這次是新增一個hello.txt
檔案 的修改,所以我輸入:1
git commit -m "add new file hello.txt"
- 再用
git status
看一下現在狀態,這樣就已將檔案加入完畢
接著我們要將本機端的修改推送到遠端!但在推送之前需要一些步驟
產生 ssh key (Mac)
確認憑證是否存在?
- 先到家目錄確認有無 .ssh 資料夾
1 | cd ~/.ssh |
若沒有的話,自己建立一個
1 | mkdir .ssh |
看一下內部檔案
ls
,確認有無 id_rsa、id_rsa.pub`若沒有的話透過下方指令生產一個,建立方法:
1
ssh-keygen -t rsa -C "yourmail@email.com
讀取公鑰,將公鑰貼到 Git 上,透過
cat xxx
指令查看後複製起來,要貼給 GitHub 上1
cat id_rsa.pub
將公鑰貼到 GitHub 自己的帳號裡
進到自己帳號 > Settings
左側有個“SSH and GPG Keys” ,接著點擊右側 ”new SSh Key“,並將 title 與 key 貼上
- 接著將網站中方筐處複製起來
1
git@github.com:XXX/hello_git.git
terminal 進到自己電腦專案資料夾
接著我們也要在遠端建立 repository,輸入剛剛在 git 網頁藍色方匡處的指令
1
git remote add origin git@github.com:XXX/hello_git.git
接著將本次修改推送到遠端的 master 上,之後只要
git push
即可1
git push -u origin master
完成後回到剛剛網頁重新整理即可看到下方結果
透過 GitHub 展示靜態網站
建立名為 gh-pages 的 branch
1
git branch gh-pages
推送到 gh-pages 分支上
1
git push -u origin gh-pages
這樣就可以到網站上查看囉
1
[github_name].github.io/[repository_name]/
git 基本指令整理:
git 初始化 repository
1
git init
指定檔案從 working area 加入到 staging area
1
git add XXX
該本目錄底下檔案全部加入
1
git add .
取得檔案狀態
1
git status
提交指定檔案
1
2git commit -m "add new file XXX"
git commit -m "modify XXX" (內容可自行修改)查看 log 紀錄,可確認剛做的事、是否已成功..等
1
git log
目前的 branch 指定切換到 xxx branch
1
git checkout XXX
推送到遠端
1
git push
建立 branch
1
git branch XXX
若發現有一小部分修改,沒加入剛剛的 commit,可以使用:
1
git commit --amend --no-edit
git add .
加入小部分修改
git status
確認狀態正確後
git commit --amend --no-edit
追加檔案到最近一次的 Commit
Sourcetree 安裝
安裝完後並申請帳戶
會出現所有 repository ,點擊要處理的 repository
- 即可看到目前 repository 的狀態、history..等等
- 如何在 terminal 直接呼叫 repository 的控制頁面呢?
- Sourcetree > install Command Line Tools
- 安裝成功
3.這樣就可在 terminal 輸入指令stree .
即可跳出repository 的控制頁了!!
1 | stree . |