文章目录
Idea
- 代码补全,取消大小匹配,setting——editor——general——code completion——mactch case
- 显式方法分割线,setting——editor——general——appearance——show method separator
TortoiseSVN
只是当作一个ftp浏览器使用,浏览器虽然可以可以访问,但是不能直接批量复制粘贴到本地。主要用来访问的内容,目前是SVN,存着软件. 学习资料等,常用网站已加入bookmark中。
Filezilla
一个ftp浏览器,一般用来下载较大的团队共享的软件或资料,账号. 密码等以保存。
Git
运行原理
在IDE里看到的代码为workingtree→经过git add→index,暂存区→经过git commit→本地代码库→经过git push→远端代码库
Clone到本地
Git,从公司的私有代码库gerrit中clone代码,传输配置成ssh模式,保证安全性,由git——user——sshkeyxxx.exe 在自己设定的路径中生成密钥,在gerrith中配置ssh生成的密钥即可,然后在目标文件夹中右键运行Git bash,粘贴项目的Git链接,确tag是“ssh“和”clone“,项目文件被下载至当前目文件夹。
Clone完成。
本地推送到远端
git push,推送到远端并在远端合并
远端取回本地
两种取法,git pull 和 git fetch。
git pull其实分为两步:git fetch 和 git merge,用此命令时,若远端和本地的代码发生冲突则直接报错。
使用git fetch --all取回本地时,若有冲突,会提示冲突所在代码行方便解决冲突
切换分支
查看当前所处的分支:git branch
查看所有分支:git branch -av
切换到某个分支:git checkout 分支名字
切换回主分支:git checkout master
提交到本地库并push
提交既可以通过git命令行,也可以通过IDE自带的图形界面,以命令行为例:
- git status
- git add 文件 或者 git add .
- git commit -m"哈哈哈哈,提交备注" //有git add 指定文件,就不要用git commit -am了
- git review -R -v 版本号,邀请review
- git push,进行合并
补丁提交到本地库并push
- 先git status 查看本地的状态,会列出项目中被增删改的文件
- 再git add “上面的得到的文件” 或者 git add . 将所有的修改添加进工作池中
- git commit --mend,追加提交
- git review -R -v 版本号,邀请review
版本回退
分为两种情况,一种是已经push过,另一种是只本地commit还没有push。
只commit没有push过的情况:
git reset --soft|--mixed|--hard <commit_id> 或者 git reset --soft|--mixed|--hard origin/master
git push
–mixed 会保留源码,同时将git commit和index 都回退到了commit id版本,之后想提交还需要add,然后commit。
–soft 保留源码,只回退到commit信息到某个版本。不涉及index的回退,如果还需要提交,直接commit即可。
–hard 源码也会回退到某个版本,commit和index 都会回退到某个版本。(注意,这种方式是改变本地代码仓库源码)
意外情况下,在push代码以后,使用 reset --hard commit_id 回退代码到某个版本,但是这样会有一个问题,你线上的代码没有变、commit、index都没有变,当你把本地代码修改完提交的时候你会发现全是冲突…这时换下一种,也可以先pull/fetch一下。
已经commit并且已经push:
对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用到下面的命令
git revert <commit_id>
revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新。
注意:git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit,看似达到的效果是一样的,其实完全不同。
第一:上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会.
第二:如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.
第三:reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.
SVN
ArgoUML
免费开源的时序图、类图设计软件
yEd Graph Editor
免费开源的流程图绘制软件
typora
极好的markdown编辑/预览编辑器!完全替代vscode!
VI
VI是每个linux都预装的文件编辑器,在shell终端中输入:
vi fileName.txt
vi fileName.java //以编辑模式打开文件
view fileName.txt //以只读模式打开文件
简单的来看,VI有三种工作模式 :
- 普通模式,双击Esc进入普通模式,刚打开文件时,直接进入了普通模式。从键盘输入任何字符都被当作命令来解释。最下面一排有短暂的键盘输入命令提示,输入命令后立即执行。
- 编辑模式,普通模式下,按i或者c或者o进入普通模式。
- 命令模式,普通模式下,键盘输入英文冒号,最下一排显式一个冒号,显示输入的命令,输入后按回车确认执行命令。
命令模式下,常见命令如下: - q 如果文件未被修改,会直接退回到Shell;否则提示保存文件。
- q! 强行退出,不保存修改内容。
- w 命令保存文件
- wq 保存并退出,或者 普通模式下键盘输入两个Z