【遊戲王新卡情報】1109 POTE-JP026 赤しゃりの軍貫 淺談
阿新 • • 發佈:2022-04-04
1.認識Git
(1)什麼是git?
分散式版本管理系統
(2)svn與git的區別?
svn是集中式版本控制系統,版本庫放在中央伺服器,必須聯網才能工作。
集中管理方式可以在一定程度上看到其他工作人員在開發什麼,管理員也可以輕鬆掌握每個人的許可權。
相較於優點,缺點也很明顯:伺服器單點故障(伺服器掛了程式碼就沒了);容錯性差。
遠端倉庫github
SSH為Secure Shell(安全外殼協議)的縮寫,專為遠端登陸會話和其他網路服務提供安全性的協議。利用SSH協議可以有效防止遠端管理過程中的資訊洩露問題。
需要在github上配置SSH金鑰
2.Git常用命令
要在專案資料夾裡開啟git,新建一個pr = pull request
git三種狀態:
已修改modified,在本地資料庫中修改了檔案,但還沒儲存到資料庫中
已暫存staged,對一個已修改的檔案的當前版本做了標記,使之包含在下次提交的快照中
已提交committed,已提交表示資料已經安全地儲存
克隆專案
$ git clone https://github.com/libgit2/libgit2
檢視當前分支狀態,顯示檔案變更
$ git status
獲得簡短的輸出結果 $ git status -s $ git status --shrot
新建分支
新建分支 $ git branch fix0001
進入分支 $ git checkout fix0001
建立分支並進入(常用) $ git checkout -b fix0001
列出所有分支
$ git branch
刪除分支
$ git branch -d fix0001
將fix0001分支改名成tmp
$ git branch -m fix0001 tmp
檢視已經合併的分支(未加*的可以刪掉)
$ git branch --merged
檢視所有包含未合併工作的分支(刪除會失敗,-D強制刪除)
$ git branch --no-merged
新增提交
將檔案新增到《暫存區》
$ git add a.txt
將《暫存區》的所有內容提交到當前分支
$ git commit
vim模式: i切換到輸入模式
先Esc再輸入:wq退出
不用進入vim的世界
$ git commit -m "balabala"
刪除檔案
$ git rm a.txt
檢視歷史
$ git log(用q退出)
會輸出你的提交歷史、各個分支的指向以及專案的分支分叉情況
$ git log --oneline --decorate --graph --all
將本地倉庫的提交上傳到遠端
$ git push origin fix0001
--force強推,以自己本地操作為準
$ git push origin fix0001 --force
合併分支及變基
fix0001分支的操作合併到master分支
$ git checkout master
$ git merge fix0001
將experiment分支變基到master分支
$ git checkout fix0001
$ git rebase master
丟棄本地的merge
$ git merge --abort
第二天繼續幹活,先更新master
$ git checkout master
$ git pull $ git checkout fix0001 $ git rebase master
Git從遠端分支獲取最新的版本到本地有兩種命令:
$ git pull:相當於是從遠端獲取最新版本並merge到本地
git fetch更安全,可以檢視更新情況,再決定是否merge
Pull = Fetch + Merge
Pull -r = Pull --rebase = Fetch + Rebase
IDEA中與"Run"、"Builld"、"Terminal"並排的"Git"(可能需要配)中的便捷操作
需要強推程式碼到以前的分支: 選擇某個歷史分支,右鍵"Reset Current Branch to Here",網頁上程式碼不要重新整理,選擇"Hard"模式或者其他,然後按照網頁的程式碼重新修改 某個檔案需要回退: 右鍵檔名,選擇Git,再選擇"Rollback",然後點選Rollback即可
Git對標籤的管理:很少用
2.Rebase與Merge詳解
還沒寫,有點難嗷