一、 环境安装git
Git最新版下载地址:https://gitforwindows.org/github
TortoiseGit,Git客户端,32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/spring
安装的方法,一直下一步就行,具体作法省略。windows
二、 配置this
1. 首先,请选定一个存放Git项目的目录,这样管理方便. 如: D:\test , 而后在资源管理器中打开.spa
2. 在空白处点击鼠标右键,能够看到右键菜单中多了几个选项。选择 --> TortoiseGit --> Settings, 而后就能够看到配置界面,以下图所示:3d
3. 选中General,,Language中选择中文.。不勾选自动升级的复选框,可能还须要指定 Git.exe 文件的路径,如 日志
"D:\DevlopPrograms\Git\bin"。完成后,点击应用,肯定关闭对话框(楼主比较习惯英文)。code
4. 再次点击鼠标右键,能够看到弹出菜单中已经变成中文.。原来的 Settings 变成 设置,Clone 变为 克隆。blog
5. 配置右键菜单.。在设置对话框中,点选左边的"Context Menu",设置经常使用的右键菜单。楼主比较经常使用的是以下选项:
6.设置记住密码
!!!!密码会明文保存在 C:\Users\Administrator\.git-credentials 这种文件中, 请当心使用.
进入设置, 点选左边的Git标签.能够发现,右边能够配置用户的名字与Email信息. 以下图所示:
由于当前尚未本地项目,因此 “Edit local .git/config(L)” 按钮处于灰色不可用状态,若是在某个本地Git项目下打开配置对话框,那么这个按钮就可用,而后就能够编辑此项目的一些属性。
点击 “Edit global .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容:
[credential]
helper = store
完成后保存,关闭记事本,肯定便可。
当你推送项目到GitHub等在线仓库时,会记住你输入的用户名和密码
三、 示例
在工做目录下,如D:\test,空白处右键,选择: Git clone,则会弹出克隆对话框,以下图所示:
在URL中填写项目的访问地址,如:https://github.com/xuwenjin/xwj_repo.git
根据项目大小,时间会不同. 克隆完成后,若是没有错误,会给出提示:
进入克隆下的文件夹中,如D:\test\xwj_repo,空白处右键,弹出以下菜单:
其中,Git Pull是从远端拉取最新的代码,Git Fetch是从远端拉取最新的分支,Git Push是将本地仓库的代码提交到远端
Git Commit ->”master”,将本地代码提交到本地版本库(默认的分支是master)。
2. 将本地代码提交到本地仓库
建立一个文件,如test1.txt, 而后提交(commit)到本地版本库(这个操做能够在离线状态操做)
2.1 选择Git Commit ->”master”,弹出下图:
2.2 填写提交备注message(不填写不容许提交),勾选须要提交的文件,点击commit,便可将本地代码提交到本地版本库。
出现以下弹框,表示提交成功
其中,提交时,会发现上图中的Status有几种值:
Unknown:新增的文件,也不在版本库
Added:新增的文件,在版本库
Modified:文件修改,在版本库
Missing:文件被删除,在版本库
3. 查看日志
在日志中,能够经过日期、文件名、提交人等等过滤查询。
3.1 经过日志,能够很直观的看到提交相关记录。好比提交人、提交时间、提交了哪些文件等等。这些信息便于之后进行文件对比或
者版本回滚(后面将会介绍)点击test1.txt,能够看到本次提交,对test1文件进行了哪些操做:
至于怎么去看这些颜色表示什么意思,能够去百度一下,这里不作介绍
4. 将代码推送(push)到远端。这里是github
右键空白处,选择Git Push,出现以下弹框:
这里能够看到是本地哪一个版本库提交到远端。至此,文件的整个提交过程就完成了
5. 分支
发现问题:你代码写了不少,运行OK;可是忽然想加个新功能进去,这个功能你也不知道可否正常运行,并且修改过程当中,除了新加代码和文件进去,还会修改之前的代码。要是万一失败,修改回来也是一种很麻烦的事情。这种时候不少人就用备份方式。来看看git是怎么优雅的处理这个问题的。
git的处理方式:当你想加一个新功能进去的时候,你能够新建一个分支,例如名字叫newbranch,而后在分支中把新功能加上去,若是OK,将代码合并到master分支上,若是新功能失败,切换回master分支上来,在newbranch写的代码,又全看不到了。
5.1 新建一个分支,右键-->TortoiseGit-->Create Branch
右键,你会发现当前的分支为你新建的newbranch分支了
5.2 接下来,就开心新增你的功能,好比咱们在test1.txt文件中新增一行文字,同时新增一个文件test2.txt
5.3 提交咱们的代码到newbranch分支的本地仓库,参考以前的2.2
5.4 忽然发现该功能有漏洞,想回到以前的master分支,怎么办呢?
右键-->TortoiseGit-->Switch/Checkout,选择master便可。以下图:
5.5 空白处右键,会发现已经切换到master分支了。此时发现test2.txt并无带过来,再来看看test1.txt文件是否回到了从前呢?
结果显示,不管是修改仍是添加,都没有影响master分支上的文件,这就是分支的做用。
6. 分支合并
若是此时发现newbranch分支上的功能是有效的,但愿能合并到master,又该怎么操做呢?
PS:在合并分支前,必定要确认newbranch分支上的代码所有提交到本地版本库了
右键-->TortoiseGit-->Merge,选择被合并的分支,即newbranch。以下图
6.1 点击Ok按钮,会出现下图弹框。弹框中会列出被合并的文件。以下图所示:
6.2 咱们发现test2.txt文件被合并过来了,打开test1文件,发现内容正好是在newbranch分支上修改的内容。
至此,分支合并完成
7. 拉取(pull)远端最新的修改内容
此时,咱们团队还有另外一个成员B,他须要获取我最新修改的内容,该怎么操做呢?
首先B切换到跟我同一分支,而后右键-->Git Pull,点击确认便可,就可将我修改的内容拉取到他的本地版本库
8. 版本回滚
8.1先查看日志,肯定想回滚到哪一个版本
8.2 好比想回滚到建立test1.txt文件前,则点击该步操做所对应的message以前的那一个日志(add spring demo)
而后右键-->Reset “master” to this…,表示将当前master分支上的文件回滚到这个版本,以下图
8.3 选择以后,弹出以下弹框,在Reset Type下选择Hard:Reset working…..,点击Ok便可
会发现,此时test1.txt跟test2.txt两个文件都消失了,以下图:
9. 解决冲突(略)