一、前提:
1、下載並安裝好 Phpstorm
2、下載並安裝好 Git
3、熟悉 Git 相關命令行操作
二、配置git
點擊旁邊的test可以測試是否成功
三、Git pull & commit(add):
Phpstorm 打開一個 Git 的項目
右上角就會有類似的兩個按鈕
左邊這個就是拉代碼的,命令行是:Git pull
右邊這個是Commit的,命令行是:add 和 Commit
提交代碼快捷鍵:Ctrl + Shift + K ,命令行是:Git Push
在VCS菜單中也有
更新說明:
Merge:只拉本分支代碼
rebase: 簡單一點就是先同步主分支代碼,再拉本分支代碼
注意這2個就可以了
四,切換版本分支,添加新的分支,刪除分支
切換版本:
切換版本分支命令行:Git checkout
選擇你要切換的分支,直接 Checkout 即可,若是本地沒有的分支,在遠程分支列表中選擇 Checkout As ,輸入名稱即可,如下圖:
新建分支(一定要保證代碼是最新):
Git 新建分支,右下角直接切換到你想要復制的分支上,保證代碼是最新的情況下,點擊 New Branches,輸入名字即可
比如:我想要復制 A 分支,並命名為 B 分支,首先我先切換到 A 分支上,然后 New Branch 創建一個新分支,並命名為 B,接着把 B Push 即可
輸入新分支名
再 Push 即可
刪除分支:
刪除本地分支或者刪除遠程分支,右下角選擇 git,選擇想要刪除的分支,鼠標左擊,選擇 Delete
五、代碼合並
全部合並:
分支合並命令行:Git merge
比如我想把本地的分支 A 合並到分支 B 里面,首先先確保你本地的 B分支 的代碼是“最新的”
即:切換到 B分支,更新代碼,選中 A分支,鼠標左擊,選中 Merge ( PS:有些可能是 Merge into Current)
(這里也可以進行遠程分支合並,即在 Remote Branches 里面,選擇想要合並的分支,選擇 Merge 進行合並)
單獨合並:
假設我在 A 分支有一個提交記錄,由於改動的地方比較多,我想單獨把這條已經在 A 分支 push 過的提交記錄在 B 分支也加上去(我不想直接合並兩個分支)
這種情況的話,直接使用 Cherry-Pick ,對應命令
git cherry-pick <commit id>
phpstorm操作
比如我想把上面想 問題修復 同步到B 分支
先切換到 B 分支,打開 Git 提交記錄,在Branch 選擇 A 分支,然后找到你提交的那條記錄(如上圖),右鍵,選擇 Cherry-Pick(如下圖),然后 commit 跟 push,完畢,這樣就把 A 分支的某條提交記錄單獨的“合並”到 B 分支。
六、回滾
七、Stash / Unstash
Stash:把當前項目所修改的地方暫存到本地
Unstash:恢復上次暫存的文件
比如現在我有個 Bug,想切換到其他分支修改這個 Bug,但是呢,我當前開發的分支已經修改了一些東西,而我又不想提交,
這個時候可以用 stash 暫存一下你的代碼,然后切換到其他分支修改完 Bug 后再切回開發的分支,執行 unstash 就可以恢復到當時修改的文件
流程如下圖:
1、暫存
2、恢復
選中當時暫存的版本,選擇Unstash 點擊 apply 恢復即可
八、代碼甩鍋
Annotate(中文名稱 注釋 )
查看最新一次修改
九、代碼比較
與同一版本庫文件比較
右鍵要比較的文件
與其他版本庫同一文件比較
右鍵要比較的文件
選擇要比較的分支
與文件的修改記錄比較
右鍵要比較的文件
選擇要比較的記錄
與本地歷史比較
右鍵要比較的文件
VCS也可以
注:
與本地歷史比較也可以作為本地文件找回
十,Tag標簽
或者右鍵項目
PS:創建完標簽后記得把 tag 推送到 Git 服務器!
ctrl+shift+k
選擇 All:即推送所有 tag
選擇 Current Branch:推送當前分支的 tag
命令行是:
$ git push origin [tagname] #推送單個tag
$ git push [origin] --tags #推送所有tag
再介紹一個git操作神器:Sourcetree
界面如下: