1.在本地新建版本库

首先,我们打开Git GUI是这样的一个界面,选择第一项,新建版本库。

然后选择你需要进行版本管理的项目路径,我选择了一个LoginDemo的项目。

当你创建了版本库的时候,你可以在该项目的路径下看见多了一个.git文件夹(设置了隐藏文件不可见的话看不见)

在Git Gui中,如果Unstaged Changes(未缓存的改动)中包含文件,则先点击Stage
Changed,将未缓存的改动加入缓存,再点击Commit;否则需要先点击Rescan扫描项目中进行过改动的文件。注:提交描述必须要填写,不然无法提交。


提交成功后,我们可以在Repository->Visualize All Branches History中看到我们提交的历史记录(这是提交到本地而不是提交到远程服务器)。至此,本地版本库就创建成功了。

2.将项目提交到远程

上一步已经使用Git在本地建立起了版本库,然后我们需要将该项目提交到远程服务器以便同事或其他合作者共同参与开发。一般的开源项目使用github作为远程服务器。其实在本地简历版本库后,只需要点击push就可以直接上传。但是我们还没有将本地的Git与github建立联系以及设置安全协议。

首先,我们需要在有一个自己的github帐户,然后在github上新建一个repository,名字也叫做LoginDemo(可以和本地项目名不一样)。

在Git Gui中,选择Remote->add添加远程服务器,远程服务器信息有两种填写方式,填写https地址或ssh地址,对应github项目的https和ssh地址,推荐使用ssh方式。

1.https地址

这种方式需要输入你的github帐户和密码,意味着通过这种方式你只能够操作自己的项目。

2.ssh地址

这种方式需要进行授权设置,在Git Gui的菜单栏,点击Help->Show SSH key->Generate SSH KEY创建密钥。

然后在github的Personal settings中添加它,title随意,可以用Home,company等作为标识来区别。

添加远程服务器信息。

接下来,我们便可以直接在Git Gui点击push提交至远程客户端,刷新一下github,便可以看到项目已经在repository中了。

3.从远程下载更新

设想多人参与项目开发,每个人都只push到远程,完全不顾其他成员的进度,这样的开发模式无疑是有问题的。我们最好的做法是,每次push到远程的时候,先从远程把目前进度fetch下来,在和自己目前项目进度merge后,再将它push到远程。打开Git
Gui,在菜单栏中选择Remote->Fetch
from->LoginTest,便可以从远程服务器更新到本地,但是尚未与自己当前项目合并。

4.合并解决冲突

从远程fetch后,选择Git Gui的Merge->Local Merge进行合并,选择Tracking Branch。

如果本地有一个方法名叫findUser,而远程服务器中该方法的名字改变了,例如变成了findPassword,则合并遇到冲突,可以右键空白部分选择保留本地版本或远程版本进行合并(图中绿色的代码表示冲突部分)。

5.克隆github上的项目到本地

在Git Gui的主界面选择克隆已有版本库。

Source Location即github中项目的地址,和第二部分(将项目提交到远程)中一样,可以选择https地址或ssh地址,Target Directory是在本地存放该项目的路径。点击Clone,成功从github将项目克隆到本地。

最新文章

  1. Linux的3个文件时间
  2. DotNetBar中TextBoxDropDown效果图
  3. 【缓存】Sql Server 2005/2008 SqlCacheDependency查询通知的使用总结
  4. linux驱动路径
  5. Echarts数据可视化series-graph关系图,开发全解+完美注释
  6. Redis详解(三)------ redis的五大数据类型详细用法
  7. ltp-ddt emmc_dd_rw
  8. linux 搭建rap记录
  9. 作业注释 CSS表单1 输入框前有图片
  10. sklearn 总结
  11. Maven项目搭建-Eclipse版
  12. struts2 中的 addActionError 、addFieldError、addActionMessage的方法【转】
  13. 为什么有的需要安全连接的的application只有开Fiddler才好用?
  14. Spring解决Hibernate中的懒加载问题
  15. Idea导出可运行Jar包
  16. 转载 spring事务增强
  17. 【337】Text Mining Using Twitter Streaming API and Python
  18. UNIX环境高级编程学习笔记(十)为何 fork 函数会有两个不同的返回值【转】
  19. ThinkPHP框架介绍
  20. SyntaxError: Non-ASCII character '\xe7' in file 错误的解决方法

热门文章

  1. Android studio第一次使用配置(三)gradle项目构建
  2. 浅谈PHP数据结构之单链表
  3. 1360 xth 的玫瑰花
  4. uboot 解压缩
  5. PCB MS SQL 将字符串分割为表变量(表值函数)
  6. nodejs windows环境安装
  7. python 11:range(起始索引,终止索引,步数)(默认情况下步数为1,生成从起始索引,每次增加(终止索引-起始索引)/步数,到终止索引前的数字串)
  8. 计算某个时间段(2017-10-01 2017-12-01)内svn更新文件的MD5
  9. Windows phone开发之文件夹与文件操作系列(一)文件夹与文件操作
  10. 《Java编程思想》学习笔记(一)