TortoiseGit & eclipse git & idea git 操作基础
Git操作手册
目录
1. 准备工具
2. TortoiseGit使用教程
3. eclipse 操作git
4. idea操作git
一、准备工具
- 下载git并安装,即可使用cmd命令行操作git
https://git-for-windows.github.io/ - 可视化操作工具TortoiseGit(https://tortoisegit.org/download/),
sourceTree(https://www.sourcetreeapp.com/)【需要翻墙登录】
SmartGit(https://www.syntevo.com/smartgit/)
二、TortoiseGit使用教程
安装完成TortoiseGit后在任何空白处右键可见如下菜单
2.1 Clone(类似于svn的checkout)
克隆完成
2.2 Show log(查看历史记录)
改动文件”README.md”
查看历史记录
双击蓝色改动文件,可以打开文件并看到具体改动内容,冲突时也可以在这个窗口进行左右覆盖。
2.3 commit
将修改的“README.md”文件提交至本地仓库
选择提交的文件(打勾的将被提交)
点击OK确认提交,此时不像SVN直接提交到远程服务器,只是提交到本地仓库(隐藏的.git文件夹下)
2.4 pull
pull=fetch+merge
*注 在将本地代码推送至远程前必须先从远程拉取一次,以防止在此期间有其他人提交过代码,直接推送会覆盖他人代码。
从dev拉取(此代码本就是dev分支)
2.5 push
输入账号密码,如果每次push或pull操作都提示要求输入账号密码,可以在.git文件夹中对配置文件进行修改,方法很多,百度一下就有。
push成功
三、eclipse 操作git
Eclipse自带git插件,如果没有可以去网上百度链接,可以在线下载
3.1 clone
File->Import,导入窗口选择下图所示选项
Clone不需要账号密码,但是此处可以先设置好,省得push的时候又要输入(我没有输入)
选择分支,此处选择dev
更改目录
点击完成以后,右下角会显示clone进度,这里我clone的是maven项目,而eclipse不会自动区分maven项目,网上有说什么从eclipse中删除再重新以maven项目导入的,其实不需要,选中项目右键,config选项中转成maven即可
3.2 commit
选择commit选项
打开如下commit操作界面
左侧为待提交文件,确认后点击提交,提交完成后注意工程图标变化
3.3 pull
两个pull选项,此处选第一个,直接从默认当前分支拉取
第一个pull默认当前分支,不做合并操作,第二个pull可以选择从哪个分支拉取,因为pull=fetch+merge,如果选择的是与本地不一致分支,会自动在本地做合并分支操作。
3.4 push
pull过后才能push(pull和commit的顺序可以变化)
因为之前我没有输入账号密码并保存,所以此时需要账号密码
push成功
注意工程图标变化,待提交图标消失了。
3.5 分支合并
需要合并到哪个分支就将本地切换至哪个分支,例如:dev合并至release,先将dev的代码推送到远程(前面已经做过了),然后切换到release
切换本地分支为release
点击完成切换完成,注意查看分支标识
切换完成
选择第二个pull
输入dev,选中下拉框中匹配项
发现有pull分支有三个改动与release不同,这三个改动将被合并至release,此处都是我一个人改动的,因而没有冲突,可以直接合并后push,如果有冲突产生,注意解决冲突后再push。
从dev拉取后有三个待提交
最后选择push即可,这里就不贴图了。
3.6 Tips
3.6.1 查看历史
3.6.2 冲突处理-stash
在多人同时修改一个文件时,或者在pull之前担心自己动过的代码会与他人冲突,但是又希望查看此时该文件被哪些人改动过,可以先stash自己的代码(本地代码会回到修改之前的状态),然后fetch查看最近他人修改的代码,此时就不会有冲突,之后可以在Team->stashes中恢复自己暂存的代码。
3.6.3 预知冲突
在pull代码前先在Team->synchronize workspace 同步一下代码,可以查看本地代码与此时远程的差异,可以预知拉取代码需要解决的冲突。
四、idea 操作git
idea中操作很简单,三步:pull、commit、push(可以简化两步commit&push),idea与其他智能一些的工具不会在pull发生冲突时将冲突内容在本地没有询问我们的情况下自动合并在一起,而是会弹出提示框让我们进行选择合并操作,因此极大简化了git操作过程,也不用担心冲突问题。以下是常用操作说明,后续会补充在idea中的回滚,合并。
4.1 pull
选择pull的分支,此处选择不同于本地分支将是合并操作
4.2 commit
4.3 push
4.4 show histroy
学习一门技术,要用好每一项工具,花时间去搞清楚每一个工具中每一个按钮,每一个弹框,每一个单词的意义。相信应该没有多少人在做过这些后还有很多盲点的。