PhpStorm 上面的git集成用法
一、前提:
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
界面如下: