|
阅读:5986回复:0
Tortoisegit 使用示例 — 图解
Tortoisegit 使用示例
克隆一个项目(分别从github仓库、自己搭建的gitblit 仓库上获取) 教程开始之前,补充一个知识点: 本地仓库和远程git仓库的连接方式有两种:HTTPS 和 SSH,很多时候都是直接使用 HTTPS URL 方式克隆项目到本地,当然也有有些人使用SSH URL克隆到本地。这两种方式的主要区别在于: 第1步:此处介绍通过SSH URL方式传输,使用之前需要先将本地的 SSH 公钥配置到 Git 服务器上。 先查看SSH Key。在C盘用户主目录用户目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到第2步。 图片:1545277-20181226113405247-1942190673.png ![]() 如果没有上述文件,则需要创建一个SSH Key,在任意文件夹下点击右键,选择 Git GUI Here。在弹出的程序中选择主菜单的【Help】→【Show SSH Key】: 图片:1545277-20181226114055886-180594107.png ![]() 如果没有Key,则点击“Generate Key”生成一个SSH Key: 图片:1545277-20181226115510598-122268944.png ![]() 把生成的全部内容拷出来。 如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。(其他创建SSH Key方式:通过Shell命令方式创建) 第2步:把 SSH Key 填到Git 服务器的配置中。 GitHub服务器:登陆GitHub,【头像】→【Settings】→【SSH and GPG Keys】→【New SSH Key】,填入上一步的复制的SSHKey,然后【Add SSH Key】: 图片:1545277-20181226121245026-1546328791.png ![]() Gitblit 服务器(自己搭建 Git 服务器,Gitblit的安装教程请看这里),登录 Gitblit账户,在【头像】→【用户中心】→【SSH Keys】,填入上一步的复制的SSHKey,然后【添加】 图片:1545277-20181226132901278-1097084455.png ![]() 为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。 第3步:要克隆 GitHub 或 Gitblit上的项目,先要获取对应远程存储库的路径(注意:此处使用 SSH URL 方式): GitHub仓库:从 GitHub项目页面上得到对应存储库的 giturl 路径: 图片:1545277-20181226122012947-1020013679.png ![]() Gitblit 仓库:在存储库页面这个位置得到存储库的 giturl 路径: 图片:1545277-20181226133807571-386299740.png ![]() 第4步:在本地文件夹的空白位置处,右击鼠标,在菜单中选择【Git克隆】: 图片:1545277-20181226122429702-1374729661.png ![]() 把git 路径填写到URL,并选择本地文件目录,点击【确定】,弹出下载进度窗口。(服务器端至少要有一个文件,否则 pull的时候会报错 fatal: Couldn't find remote ref HEAD) 图片:1545277-20181227111642077-139096442.png ![]() 克隆成功,则在文件夹上就可以看到角标标识: 图片:1545277-20181226122800854-457145087.png ![]()
文件上的图标,可以反映出当前文件或者文件夹的状态: 若是看不到可以查看该教程:TortoiseGit状态图标不能正常显示的解决办法 将代码提交到服务器 Git的使用类似TFS、SVN等源代码或者文件管理器,惯例的流程: 图片:1545277-20181227115208257-1683338978.png 第一步:改动,修改本地项目中的某些文件,如修改 README.md 内容,还可以增加一些文件, 如Hello.txt。 第二步:提交本地,在本地项目的空白处点击鼠标右键,选择 【Git提交(C) -> "master"...】 图片:1545277-20181227100121491-491368160.png ![]() 在弹出提交(Commit)对话框中完成提交说明信息,和选择需要提交的文件,可根据需要新建分支,然后点击 【提交】 按钮,将修改提交到本地仓库: 图片:1545277-20190103171759895-2065852804.png ![]() 弹出提交进度窗口,提交成功后还需要“推送”将本地仓库的修改推送到远程仓库。 图片:1545277-20181227101140031-683442032.png ![]() 第3步:同步拉取,在实际工作中,如果多人协作或者多个客户端进行修改,那么我们还要拉取别人推送到在线仓库的内容,所以在推送之前需要先执行同步拉取(Pull ...)操作。 在本地仓库文件夹上【右击鼠标】→【Git同步】: 图片:1545277-20181227130530378-1669594219.png ![]() 打开Git同步窗口(包括常规操作及日志,同右击菜单快捷操作一样),点击【拉取(P)】,将远程分支拉取到本地: 图片:1545277-20181227132850405-85698829.png ![]() 如果服务器上的文件没有被修改过,就会直接提示已经更新到最新,那你就可以直接进行下一步“推送(H)”操作了: 图片:1545277-20181227132243336-896908105.png ![]() 反之,如果服务器上的文件被修改过了(本地文件修改前不是最新版本),就会提示冲突。先要解决冲突,然后再提交结果: 图片:1545277-20181227134452525-392356522.png ![]() 需要注意的是,和使用TFS、SVN的习惯一样,你在修改本地内容之前,最好先 拉取(pull)一下,减少冲突的可能。 第四步:推送远程,将提交到本地仓库的修改推送到远程仓库,可以直接在提交成功后的提示窗口上点击【推送(H)...】,或者在Git同步窗口点击【推送(H)...】,鼠标右击的菜单上也有相应的快捷操作:选择 【TortoiseGit(T)】→【推送(H)...】 弹出推送(push)对话框: 图片:1545277-20181227101955704-1846772346.png ![]() 一般保持默认,点击 “确定” 按钮 然后弹出推送进度界面,可能要求你输入用户名,点击【确定】,然后要求输入密码,密码输入正确后,显示推送成功界面: 图片:1545277-20181227102125969-798122801.png ![]() 如果你按照上一小节Tortoisegit 配置的设置操作,则输入密码以后会记住密码。密码会明文保存在C:\Users\用户名\.git-credentials 这个文件中,请小心保存。 小结 以上就是海龟Git常规的操作流程,git的功能很强大,相应的命令也很多,使用图形界面把Git的操作简化了确是大大的方便。除了小海龟还有 Source Tree,也是开源且好用的Git GUI管理工具,待得有空小编再整理一份Source Tree的操作教程。补充一点,因为很多项目是在VS上进行开发的,所以更多的情况,我们不会去使用文件夹上的操作,而是结合VS的git模块来进行操作,查看VS2017中使用Git进行版本控制。 推荐廖雪峰的Git教程。 转自:https://www.cnblogs.com/anayigeren/p/10177027.html |
|
|
