GIT的安装与使用1.介绍
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与 SVN 区别
a、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
b、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
c、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
d、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
e、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
2.安装
需要下载两个软件,分别是:git和tortoiseGit。
1 下载与安装git
通过https://git-scm.com/网站下载。
使用许可声明
点击“Next”进入下图页面:
选择安装路径
在输入框内输入想要安装到的本机路径,也就是实际文件夹位置,或点击“Browse...”选择已经存在的文件夹,然后点击“Next”按钮继续,进入下图界面:
选择安装组件
上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。
点击“Next”按钮进入下图界面:
选择开始菜单页
这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面:
选择Git文件默认的编辑器
这个页面是在选择Git文件默认的编辑器,很少用到,所以默认Vim即可,直接点“Next”按钮继续到下图的界面:
调整您的PATH环境
这个界面是调整您的PATH环境。
第一种配置是“仅从Git Bash使用Git”。这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 Git Bash 的 Git 命令行工具。但是这将不能通过第三方软件使用。
第二种配置是“从命令行以及第三方软件进行Git”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。
您将能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。这也是推荐的选项。
第三种配置是“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。
我选择推荐的选项第二种配置,点击“Next”按钮继续到下图的界面:
选择HTTPS后端传输
这个界面是选择HTTPS后端传输。
第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。
第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。
我使用默认选项第一项,点击“Next”按钮继续到下图的界面:
配置行尾符号转换
这个界面是配置行尾符号转换。
第一个选项是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(“ core.autocrlf”设置为“ true”)
第二个选项是“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“ input”)
第三种选项是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“ core.autocrlf”设置为“ false”)
我选择第一种选项,点击“Next”按钮继续到下图的界面:
配置终端模拟器以与Git Bash一起使用
这个界面是配置终端模拟器以与Git Bash一起使用。
第一个选项是“使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互式Python)必须通过“ winpty”启动才能在MinTTY中运行。
第二个选项是“使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗口(“cmd.exe”),该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
我选择默认的第一种选项,点击“Next”按钮继续到下图的界面:
配置配置额外的选项
这个界面是配置配置额外的选项。
第一个选项是“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。
第二个选项是“启用Git凭证管理器”。Windows的Git凭证管理器为Windows提供安全的Git凭证存储,最显着的是对Visual Studio Team Services和GitHub的多因素身份验证支持。 (需要.NET Framework v4.5.1或更高版本)。
第三个选项是“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。
我勾选默认的第一、第二选项,点击“Next”按钮继续到下图的界面:
配置实验选项
这个界面是配置实验选项。
启用实验性的内置添加 -i / -p。(新!)使用实验性的内置交互式add(“ git add -i”或“ git add -p”)。这使其速度更快(尤其是启动!),但尚未被认为是可靠的。
默认不勾选,直接点击“Next”按钮继续到下图的安装进度界面:
安装进度指示
安装进度结束之后,会出现下图的完成Git安装向导界面:
安装完成
在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明,然后点“Finish”按钮退出安装界面。
2 下载与安装tortoiseGit
通过https://tortoisegit.org/download/网站下载。
双击安装程序 TortoiseGit-1.8.12.0-64bit.msi. 弹出安装向导界面:
直接点击下一步(Next)即可
下 一步,选择SSH客户端. 可以选择 TortoiseGitPlink(位于TortoiseGit安装目录/bin 下), 也可以选择 Git 默认的SSH客户端,位于 Git安装目录/bin/ssh.exe(如果配置了 Path,那直接是 ssh.exe)
接着是选择安装目录,可以保持默认,或者安装到开发环境目录下,安装的程序组件保持默认即可:
下一步到确认安装界面,点击 Install按钮安装即可,如下图所示
安装完成,点击 Finish 按钮即可:
如果以前有老版本,则选择覆盖,关闭旧程序并尝试重启即可
安装好TortoiseGit之后,鼠标右键,发现会多了几项关于TortoiseGit的选项
语言包安装图解(直接点下一步即可):
配置
1.首先,请选定一个存放Git项目的目录,这样管理方便. 如: D:WorkspacesWorkspace01 , 然后在资源管理器中打开.
2. 在空白处点击鼠标右键, 选择 --> TortoiseGit --> Settings, 然后就可以看到配置界面:
3. 选中General,在右边的 Language中选择中文. 不勾选自动升级的复选框,可能还需要指定 Git.exe 文件的路径,如 "D:DevlopProgramsGitbin". 完成后,点击应用,确定关闭对话框.(当然,你也可以继续使用英文)
4. 再次点击鼠标右键,可以看到弹出菜单中已经变成中文. 原来的 Settings 变成 设置; Clone 变为 克隆.
5. 配置右键菜单. 在设置对话框中,点选左边的"右键菜单",然后在右边将所有的复选框都去掉,这样右键菜单显得比较干净:
6.设置记住密码
!!!!! 密码会明文保存在 C:甥敳獲Administrator.git-credentials 这种文件中, 请小心使用.
进入设置, 点选左边的Git标签.可以发现,右边可以配置用户的名字与Email信息. 如下图所示:
因为当前还没有本地项目,所以 “编辑本地 .git/config(L)” 按钮处于灰色不可用状态,如果在某个本地Git项目下打开配置对话框,那么这个按钮就可用,然后就可以编辑此项目的一些属性。
点击 “编辑全局 .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容:
[credential]
helper = store
完成后保存,关闭记事本,确定即可。
则当你推送项目到GitHub等在线仓库时,会记住你输入的用户名和密码(这里不是用户的姓名和Email哦.)
如果你编辑的是 本地 .git/config(L),其实这个翻译为本地有点问题,应该叫局部,也就是在某个项目下面设置,只对此项目有效.配置是一样的.
用户名: 就是你注册的账号,如: tiemaocsdn
密码: 当然是注册时填写的密码: *********
Email: 是你的联系邮箱,给别人联系你时使用
用户姓名/昵称: 可以随便取,但最好有点意义
3.常用操作git clone(克隆)
首次获取项目的时候需要clone,在需要放置项目的目录中右击,然后选择clone
然后在弹出的框中填写URL地址(这个地址就是项目存放远程git地址),Directory就是保存的目录地址,默认是当前目录,然后选择ok。
克隆完成
git commit(提交)
这里的提交只是提交到本地分支,后面还需要推送到远程分支
右击项目根目录,然后选择git commit,->所指向的就是当前的分支
填写备注,然后选择要提交的内容,然后点击commit
提交完成
push(推送)
提交到本地分支的内容,我们需要推送到远程分支
右击项目根目录,选择tortoiseGit,然后选择push
选择远程分支,如果远程分支没有的,可以自己填写一个,然后推送完成后就会在远程创建一个对应的远程分支。
推送完成
pull(拉取)
更新项目内容时,需要通过pull拉取
右击项目根目录,选择tortoiseGit,然后选择pull
拉取完成
fetch(同步)
git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
右击项目根目录,选择tortoiseGit,然后选择fetch
fetch 与pull区别
git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决
switch/checkout(切换与检出)
当我们需要更换一个分支的时候,我们需要使用switch/checkout来做,可以更换到本地分支也可以更换到远程分支
右击项目根目录,选择tortoiseGit,然后选择switch/checkout
在弹出的框中可以选择本地和远程的分支,带有remotes的是远程分支,如果想获取最新的所有远程分支,在做switch/checkout操作之前,请先fetch同步一下,让远程分支信息保持为最新的。
create branch(创建分支)
项目中需要开发新任务时,通常需要自己创建一个新的分支
右击项目根目录,选择tortoiseGit,然后选择create branch
在弹出框中填写分支名,然后选择基于的分支(也就是说这个新分支是基于哪一个原有的分支创建的)