[toc]
SmartGit 操作指南(Linux)
本文以 SmartGit 为例介绍 Git 版本管理图形化操作的方法。(Linux版)(个人学习研究版)
准备工作
安装包存放地址:\10.1.135.8\导远内网文件服务器\光电产品\B1(R外网到内网)\99-其他\MHH\Smartgit
软件安装
直接打开 .deb包安装
进入SmartGit

接受,选择试用三十天

(自动获取git),设置用户信息

选择密钥设置。采用本地系统密钥或是客户端密钥(简单些),后续可更换

提交显示的风格,随自己喜好
设置隐私,全叉掉!!

会弹出连接,检查更新。直接cancel然后skip就行。之后就进入了

关掉客户端,~~进行破解~~ (学习研究)。
进入~/.config/smartgit目录下,将安装包中的 crackSmartGit-master文件夹 以及 crackSmartGit.jar 放入其中
打开smartgit.vmoptions文件,在其中添加“-javaagent:/home/uisrc/.config/smartgit/crackSmartGit.jar=19.1.3(其中uisrc根据自己用户名自行修改)
最后打开客户端,在菜单->帮助->注册产品 ,选择这个目录下crackSmartGit-master文件夹中的的license.txt文件即可(先解压license.zip)。最后成功效果如下图,没有到期时间的显示

Git 账户
在客户端左上方菜单栏->repository->Edit Git Config
初始化
导入本地已有仓库
在客户端左上方菜单栏->repository->Add or Create。选择本地已有仓库即可
克隆远程仓库
两种方式,如下
SSH协议关联远程仓库
在客户端左上方菜单栏->repository->clone”
输入远程仓库的SSH地址(注意前提是远程仓库已添加本地电脑的密钥),点击next
弹出SSH authentication,会自动读取本地私钥文件,输入密码即可

之后会弹出Master Password,用于保护向服务器进行身份验证的密码,也设置。之后确认SSH服务器验证。

最后设置存储地址即可。
HTTP协议直接输入账户密码关联远程仓库
类似SSH克隆
输入远程仓库的HTTP地址,弹出login,输入远程仓库的账户密码,最后设置存储地址即可。

初始化本地仓库
在客户端左上方菜单栏->repository->Add or Create。选择存储的地方,再确认创建即可

将其连接到远程仓库进行管理:获取远程仓库的URL,在客户端左上方菜单栏->Remote->Add… 添加即可
注意!!!本地默认的分支是master,可在左上角pull符号旁的小箭头点击选择fetch远端后,在左下角选择远端的main分支,右击选择checkout

当我在本地新增一个文件,提交后将其push到远端**(注意push的分支是哪个)**
提交
跟踪文件
跟踪:在用SmartGit进行项目跟踪时,它是以文件夹形式跟踪文件夹下所有的文件。自动进行。
在右边查看其信息。

忽略跟踪:右击选中文件,选中ignore即可。
填写提交信息
右侧文件查看栏,选中文件右击stage暂存。
填写,提交
直接在上面commit栏填写。
也可以右击文件选中commit。

推送提交
左上方的push进行推送。
也可以在提交时选择commit and push
提交约束
参考./Commit.md文件
分支管理
创建本地新分支
在客户端左上方菜单栏->branch->Add branch
拉取远程分支并创建本地分支
在左上角pull符号旁的小箭头点击选择fetch远端后,在左下方选择远端中想要分支,右击选择checkout即可
切换分支
在左下方双击选中想要切换的分支即可
删除分支
在左下方选择想要删除的分支,右击选择Delete即可
推送
将本地开发分支推送到远程仓库
切换到对应分支,点击左上角的push。或者在左下角选中分支,右击选中push。
合并
拉取远程仓库主分支到本地
在左上角pull符号旁的小箭头点击选择fetch远端后,在左下方选择想要拉取的远端分支,右击选择checkout即可
将远程分支合并到本地分支
fetch远端后,在左下方选择想要合并的远端分支,右击选择merge即可。或者点击右上角的merge图标
将开发分支移动到主分支
切换到主分支(为方便查看,可将左下角的本地分支都勾选,从而显示),选中想要将其合并进来的分支,右击选择merge或右上角的merge即可


冲突解决
情况:当我main分支和develop分支都存在conflict.md且内容冲突。将其合并引起合并冲突。

三种方式
1.使用冲突解决工具”conflict solver”

直接打开冲突文件手动解决冲突 - 根据项目需求删除,保留,修改代码就行了。(注意,在项目最后这些符号: <<<<<<<HEAD======= >>>>>>>(一长串) 都不能存在,否则报错) - 最后选中冲突文件,再选择左上角菜单栏中的操作->解决冲突,将冲突文件标记为已解决即可。
使用”我的”或者”他人的版本解决”,即take ours和take theirs。
我这选择的是冲突解决工具,在其中删除那些符号,将其两者保留。commit然后push到仓库后验证如下图
