项目上推荐使用SmartGit工具来管理代码,使用过后发现还是一款不错的git可视化工具,现将常见的git使用整理如下。
git基本操作
本地仓库初始化
本地目录初始化,git托管,相当于git init命令。
确定之后,就可以在smartgit的repositories仓库窗口看到此工程,这个文件夹也就成本本地的一个git仓库
设置个人签名信息
修改git签名,此签名和git网站的认证账号密码没有关系,只是在提交信息中备注使用
git状态查看
主窗口可以查看仓库区、分支、工作区、日志区,其他窗口可以在windows设置调整
提交、放弃、删除
git会自动记录文件变化,modified表示文件修改了,untracked表示未追踪,一般是首次新增文件。选中需要提交的文件,右键commit。
ignore:忽略文件,git不记录变化。在使用中,如果说该文件,只是本地文件,不需要记录变化,比如,idea的临时配置文件,我们就可以使用这个命令。后续git就不会去见检测变化了。
discard:丢弃变化,还原成未修改的版本。放弃修改,直接还原成index的版本。
remove:文件从work tree移除。
delete:文件删除,删除文件
版本的前进与后退
在项目中,我们避免补了要进行回滚恢复,git给我们提供了很好的操作,下面讲讲在smartgit怎么操作。如下图,我们提交了四次,分别提交了四行内容。
比如我们要回滚到第二次记录,选中记录,右键reset
mixed 只是本地仓库回滚,soft 本地仓库和工作区,hard,所有都回滚,本地文件也是直接回滚。我们一般直接选择hard就行了
文件已经还原到第二次修改了。
备注:版本前进和回退,都是在本地仓库进行了,远程仓库是不变的。
git分支管理
创建本地分支
本地仓库默认master分支,直接右键新建分支,填写分支名称。删除分支,选中分支,邮件删除即可。
合并本地分支
在项目开发中,我们经常开发一个独立功能,会单独新建一个分支,分支开发完成,再进行合并,下面分支合并操作。比如我刚刚新建了一个hot-fix分支,我在这个分支修改提交。
我们再切回master分支,master分支是没有前面的修改记录的。我们就要把hot-fix的修改的内容,合并到master分支
确认当前分支是在master分支,点击Merge,选中要合并的分支
如果文件没有冲突,分支就会自动合并,直接commint即可,分支合并完成。如果有冲突,就要先解决冲突,下面讲讲冲突解决。
分支冲突解决
分支合并还是按照第二步操作,这个就是提示分支有冲突
双击冲突的文件,smartgit会比较详细的讲述冲突的地方与内容,我们只需要根据实际内容解决冲突接口
解决完冲突后,冲突文件消失,commint即可
git远程仓库
增加、删除、克隆远程仓库
复制远程仓库地址,clone远程仓库。clone操作,直接完成了下载远程仓库代码,本地仓库初始化操作。
本地已有仓库
这样就再本地仓库添加了远程仓库,直接push to就可以将本地仓库push到远程仓库
远程代码pull和push
pull:拉取远程仓库最新代码,本地仓库和工作区都更新。
fetch:拉取远程仓库最新代码,本地仓库更新,工作区不更新,如果要需要则执行rebase。
远程仓库冲突解决
项目中,比如多人同事修改文件,别人先修改提交,如果本地仓库也修改了,就会产生冲突,只有解决冲突才能提交push。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210516120520884.png)
根据实际情况解决冲突后,commit即可。
SmartGits试用到期解决
- 在运行里输入:%APPDATA%\syntevo\SmartGit\ 然后回车。
- 在smartgit的安装目录中找到settings.xml 并删除此文件。
- 重启smartgit,重新初始化即可。