Git 及 Github 實作

到 github 首頁,點選 New repository

輸入 repository name,點選 create repository

複製 ssh-key

在終端機輸入:

git clone git@github.com:Jerrynil-tw/ditblog.git

使用 github desktop 圖形化使用介面

點選 add local repository,選擇剛 clone 下來的資料夾 ditblog

第一次提交

git add .
git commit -m "first commit"

推上雲端儲存庫

git push origin master

針對 git add 的反悔(將檔案加入暫存態)

git reset HEAD <檔案名>

針對 git commit 的反悔(提交檔案)

git reset HEAD^ --soft(只會移除 commit 的資訊,不會修改檔案)
git reset HEAD^ --hard(硬是把檔案回復到上一次 commit 的狀態)

開分支取名的邏輯

test(名稱)/addfunction(功能)

查看分支

git branch

開新分支

git branch <分支名稱>

切換分支

git checkout <分支名稱>

刪除分支

git branch -d <分支名稱>

從圖形化介面開分支

git 常用指令

提交訊息的撰寫

將檔案推上雲端儲存庫

git push "遠端主機名" "分支名稱"

查詢遠端主機名

git remote -v

檔案改動後,沒有 commit 就無法切換分支,因此需要暫存

暫時儲存現狀

git stash save "訊息"

顯示暫存清單

git stash list

回復到某個暫存狀態

git stash pop <stash id>
git stash apply <stash id>

注意:不輸入 stash id 的話,會回復到最近一次暫存狀態

刪除暫存檔

git stash drop <stash id>

注意:不輸入 stash id 的話,會刪掉最近一次暫存狀態

刪除所有暫存檔

git stash clear

Pull request

pull request 就是請求把我的專案融合進原專案主人的 master branch 中

把雲端儲存庫的最新資料拉到本地資料庫

git pull

回復到之前的版本

方法一

git checkout <commit id>

方法二

把不要的東西 commit 出去,再輸入:

 git reset HEAD^ --hard

向 Github 提交一次錯誤的 commit 後該怎麼辦

方法一(暴力)

git reset HEAD^ --hard (檔案回復到上一次 commit)
git push -f (強制 push)

方法二(優雅)

git revert <想要回到的 commit id>
重新 commit