Hugo 指令紀錄
GitHub 常用操作
創建新專案
{}內的字要替換
|
|
推送新版本專案
|
|
拉取新版本專案
|
|
拉取版本有合併問題時
- 方法一:stash
|
|
- 方法二:完全覆蓋本地修改
|
|
Git 大檔案上傳
- 可以從 https://github.com/git-lfs/git-lfs/releases 選擇你要的版本進行下載。
- 執行安裝檔
- 在 CMD 或者 Git-Bash 執行
|
|
- 在下 git 指令時,你只需要將追蹤大檔案 (超過 100 MB) 的指令 git add 改成 git lfs track 。 舉例來說,如果要追蹤副檔名為 .psd 的大檔案,那請使用
|
|
而不是 git add “*.psd” !
- 並且確保檔案 .gitattributes 有被追蹤。 (這是用來告知 github 此為大型檔案的文件)
|
|
- 後面的指令都是一樣的。 直接 git add > git commit > git push ! 回到 Github Repository 就可以發現成功被推送了。
重點紀錄
|
|
查看分支
|
|
切換分支
|
|
合併分支
先切換到要被覆蓋掉的舊版本
|
|
<commit>
是指要覆蓋過來的新版本,也就是最後會保留的版本
submodule子模塊的拉取
|
|
存儲庫內含submodule子模塊,想完整拉取的方法
|
|
忘記做的話
|
|
刪除儲存庫中的submodule
|
|
or
|
|
path_to_submodule子模塊的路徑在哪裡。
###以上失敗,以下為成功的
- 從 .gitmodules 文件中刪除相關部分。
- 暫存 .gitmodules 更改 git add .gitmodules
- 從 .git/config 中刪除相關部分。
- 運行 git rm –cached path_to_submodule (沒有尾部斜杠)。
- 運行 rm -rf .git/modules/path_to_submodule (沒有尾部斜杠)。
- 提交 git commit -m “刪除的子模塊”
- 刪除現在未跟踪的子模塊文件 rm -rf path_to_submodule 簡單來說,刪除跟目錄下submodule的資料後 .git資料夾內的config檔案內的submodule紀錄也要去刪除
批量刪除子模塊
|
|
eg: git submodule foreach git checkout master
該命令會按照.gitmodules裡的path尋找所有的三方模組,並在每一個模組中都執行foreach後的命令
eg: git submodule foreach git submodule update
有些檔案不想放在 Git 裡面
在專案跟目錄放一個 .gitignore 檔案,並且設定想要忽略的規則就行了 例如
|
|
Git 指令回顧
|
|
複製code到新分支
|
|
GitHub fork 跟 branch
https://git-scm.com/book/zh-tw/v2/GitHub-%E5%8F%83%E8%88%87%E4%B8%80%E5%80%8B%E5%B0%88%E6%A1%88
https://wp.chunhsin.idv.tw/?p=4179
https://blog.csdn.net/u012814856/article/details/84590065
1.Fork會另外複製一個版本,這個版本也是一個完整的套件。
2.官方說明文字裡指出,Fork主要是指要以其他人的套件為初始套件來開發時,或者要替他人的套件做出貢獻,也就是說通常是從其他Git帳號所擁有的套件複製而來的就是Fork。
3.如果是自己的套件,正確的作法應使用branch
4.Fork底下還可以有Branch,但沒有Branch底下還有Fork這種狀況。
5.無論是Fork還是Branch的版本都可以合併至主要版本。唯一差別是Fork是向原作者送出merge的要求,尚需要原作者允許才可以合併,而branch因為是從自己的帳號分支出來的套件,所以不須另外允許。
1. 建立分支
https://backlog.com/git-tutorial/tw/stepup/stepup2_2.html
git branch <branchname>
建立 issue1 分支。
git branch issue1
不給任何參數直接執行 branch 命令的話,可以顯示分支列表。前面有 * 的就是現在的分支。
git branch
|
|
2. 切換分支
若要在新建的issue 1分支進行提交,需要切换到issue1分支。
需執行checkout命令以退出分支。
git checkout <branch>
切換到 issue1 分支。
git checkout issue1
Switched to branch 'issue1'
在 checkout 命令給定 -b 參數執行,可以同時建立分支和切換。
git checkout -b <branch>
在切換到 issue1 分支的狀態下提交,歷史記錄會被記錄到 issue1 分支。用 add 命令增加 myfile.txt 檔案後再提交。
連猴子都懂的Git命令 add 修改加入書籤
|
|
|
|
3. 合併分支
將 issue1 分支的修改合併到 master 分支。
目前的歷史記錄
執行 merge 命令以合併分支。
git merge <commit>
您可以在執行命令中添加分支的名稱,將指定的提交合併到當前使用的分支。
要合併提交到master分支,現在讓我們切換到master分支吧。
git checkout master
Switched to branch 'master'
提交之前先打開 myfile.txt 檔案,確認內容。
連猴子都能懂的Git命令
在上一頁的檔案的編輯已經在 issue1 分支進行了,所以master 分支的 myfile.txt 內容沒有更改。
git merge issue1
|
|
master 分支 HEAD 指向的提交移動到和 issue1 同樣的位置了。這個合併就是 fast-forward(快轉)合併。
目前的歷史記錄
打開 myfile.txt 檔案,確認內容。
|
|
您會看到「add 修改加入索引」,這就表示合併成功了。
4. 刪除分支
既然issue1分支的內容已經順利地合併到master分支了,現在我們可以將其刪除。
欲刪除分支,請執行branch -d 命令。
git branch -d <branch>
執行以下的命令以刪除 issue1 分支,。
git branch -d issue1
|
|
|
|
GitHub SSH 密鑰綁定專案方法
https://stackoverflow.com/questions/12940626/github-error-message-permission-denied-publickey
讀取id_rsa.pub
git 應用程序在 root 用戶目錄中讀取你的 id_rsa.pub
|
|
無法讀取密鑰的解決方法
git 無法讀取 /home/your_username/.ssh/id_rsa.pub 中的密鑰的解決方法,需要在/home/root/.ssh/中創建密鑰
|
|
最後將密鑰複製到 github 帳戶
政治歸政治 苓膏龜苓膏
― Somebody