热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

git使用_GIT的安装与使用

GIT的安装与使用1.介绍Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发

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/网站下载。

2f10a0d9f7b525363d930cf07f680197.png

使用许可声明

65065edadee150de9ad0e0adaa5e899e.png

  点击“Next”进入下图页面:

选择安装路径

f22c65536c15cb77508639fe10c9e610.png

  在输入框内输入想要安装到的本机路径,也就是实际文件夹位置,或点击“Browse...”选择已经存在的文件夹,然后点击“Next”按钮继续,进入下图界面:

选择安装组件

3277f4f87048480c15ace3faee4e840e.png

  上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。

  点击“Next”按钮进入下图界面:

选择开始菜单页

1929f3d5a7636a327d09d6935e4a175e.png

  这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面:

选择Git文件默认的编辑器

9025b1cd8c6e4036d510b999fdbdce9e.png

  这个页面是在选择Git文件默认的编辑器,很少用到,所以默认Vim即可,直接点“Next”按钮继续到下图的界面:

调整您的PATH环境

f2faf31cb7985bdb4a0f4394e774dbe4.png

  这个界面是调整您的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后端传输

d6000391a9eb947cae3e964dd9601503.png

  这个界面是选择HTTPS后端传输。

  第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。

  第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。

  我使用默认选项第一项,点击“Next”按钮继续到下图的界面:

配置行尾符号转换

f5fa940da5a9e5c1c7cb8d9048c1cbae.png

  这个界面是配置行尾符号转换。

  第一个选项是“签出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一起使用

af78e313eeca94815cf6df6ca0165359.png

  这个界面是配置终端模拟器以与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”按钮继续到下图的界面:

配置配置额外的选项

1c1b54dea8250ef1b22eaf1c7b5153d8.png

  这个界面是配置配置额外的选项。

  第一个选项是“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。

  第二个选项是“启用Git凭证管理器”。Windows的Git凭证管理器为Windows提供安全的Git凭证存储,最显着的是对Visual Studio Team Services和GitHub的多因素身份验证支持。 (需要.NET Framework v4.5.1或更高版本)。

  第三个选项是“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。

  我勾选默认的第一、第二选项,点击“Next”按钮继续到下图的界面:

配置实验选项

07952384864c76bdb172b544372a94d8.png

  这个界面是配置实验选项。

  启用实验性的内置添加 -i / -p。(新!)使用实验性的内置交互式add(“ git add -i”或“ git add -p”)。这使其速度更快(尤其是启动!),但尚未被认为是可靠的。

  默认不勾选,直接点击“Next”按钮继续到下图的安装进度界面:

安装进度指示

0525c918a387c947bba639be8fe2e7ff.png

  安装进度结束之后,会出现下图的完成Git安装向导界面:

安装完成

00fd80934b7ab6bb04ebab60b3820340.png

  在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明,然后点“Finish”按钮退出安装界面。

2 下载与安装tortoiseGit

通过https://tortoisegit.org/download/网站下载。

双击安装程序 TortoiseGit-1.8.12.0-64bit.msi. 弹出安装向导界面:

cc90c9deb27ea7c32f417cbb52e8f64e.png

 直接点击下一步(Next)即可

e943db49e4f8b545c8163e2c02cfb409.png

下 一步,选择SSH客户端. 可以选择 TortoiseGitPlink(位于TortoiseGit安装目录/bin 下), 也可以选择 Git 默认的SSH客户端,位于 Git安装目录/bin/ssh.exe(如果配置了 Path,那直接是 ssh.exe)

4ad870cd1fc8149dd65d2f505f44d9fc.png

接着是选择安装目录,可以保持默认,或者安装到开发环境目录下,安装的程序组件保持默认即可:

43fdf4f21a5c29e58cd0dc8768dfc2fb.png

下一步到确认安装界面,点击 Install按钮安装即可,如下图所示

9f26623a8eb554f40088652ac1ede22c.png

安装完成,点击 Finish 按钮即可:

ce95e0cd988fb414897c73a32d542a5f.png

如果以前有老版本,则选择覆盖,关闭旧程序并尝试重启即可

安装好TortoiseGit之后,鼠标右键,发现会多了几项关于TortoiseGit的选项

88308d8b1856132572e5e1dfa8f40c03.png

语言包安装图解(直接点下一步即可):

配置

1.首先,请选定一个存放Git项目的目录,这样管理方便. 如: D:WorkspacesWorkspace01 , 然后在资源管理器中打开.

2. 在空白处点击鼠标右键, 选择 --> TortoiseGit --> Settings, 然后就可以看到配置界面:

4b9bcb80fc1e3c07b87206ae8ca0fba6.png

3. 选中General,在右边的 Language中选择中文. 不勾选自动升级的复选框,可能还需要指定 Git.exe 文件的路径,如 "D:DevlopProgramsGitbin". 完成后,点击应用,确定关闭对话框.(当然,你也可以继续使用英文)

4. 再次点击鼠标右键,可以看到弹出菜单中已经变成中文. 原来的 Settings 变成 设置; Clone 变为 克隆.

5. 配置右键菜单. 在设置对话框中,点选左边的"右键菜单",然后在右边将所有的复选框都去掉,这样右键菜单显得比较干净:

38fa4885e710fdc892835d26348083a5.png

6.设置记住密码

!!!!! 密码会明文保存在 C:甥敳獲Administrator.git-credentials 这种文件中, 请小心使用.

进入设置, 点选左边的Git标签.可以发现,右边可以配置用户的名字与Email信息. 如下图所示:

397188313fac9ff08a5a6c97d1719c2a.png

因为当前还没有本地项目,所以 “编辑本地 .git/config(L)” 按钮处于灰色不可用状态,如果在某个本地Git项目下打开配置对话框,那么这个按钮就可用,然后就可以编辑此项目的一些属性。

点击 “编辑全局 .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容:

[credential]

helper = store

完成后保存,关闭记事本,确定即可。

则当你推送项目到GitHub等在线仓库时,会记住你输入的用户名和密码(这里不是用户的姓名和Email哦.)

如果你编辑的是 本地 .git/config(L),其实这个翻译为本地有点问题,应该叫局部,也就是在某个项目下面设置,只对此项目有效.配置是一样的.

用户名: 就是你注册的账号,如: tiemaocsdn

密码: 当然是注册时填写的密码: *********

Email: 是你的联系邮箱,给别人联系你时使用

用户姓名/昵称: 可以随便取,但最好有点意义

3.常用操作

git clone(克隆)

首次获取项目的时候需要clone,在需要放置项目的目录中右击,然后选择clone

c2da313ec6a27f0c798cf5cbd64501eb.png

然后在弹出的框中填写URL地址(这个地址就是项目存放远程git地址),Directory就是保存的目录地址,默认是当前目录,然后选择ok。

70b54000385da9e93ddb669b8b93fab9.png

克隆完成

edb6504183a930b3ce131efae70e48cb.png

git commit(提交)

这里的提交只是提交到本地分支,后面还需要推送到远程分支

右击项目根目录,然后选择git commit,->所指向的就是当前的分支

083078a73c464115b070a52b41983cbe.png

填写备注,然后选择要提交的内容,然后点击commit

2e812ece64f7657d3b9e09add67971e6.png

提交完成

67baf23bd30b131bb55fa225c5c52ae2.png

push(推送)

提交到本地分支的内容,我们需要推送到远程分支

右击项目根目录,选择tortoiseGit,然后选择push

14e5c319c5090ec181a21c62c6a52b58.png

选择远程分支,如果远程分支没有的,可以自己填写一个,然后推送完成后就会在远程创建一个对应的远程分支。

0cb28a983df8ed90f047ff66aeedffe6.png

推送完成

c266a98d575cc3de3e653547a3fe5bbe.png

pull(拉取)

更新项目内容时,需要通过pull拉取

右击项目根目录,选择tortoiseGit,然后选择pull

eb6afc57bb5e50905b12ecb66570564a.png
b0d7be6568eebaa7b5f72f9c5fd1a7d0.png

拉取完成

dfc8de09e5abfe65a16310dad1c717f7.png

fetch(同步)

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中

右击项目根目录,选择tortoiseGit,然后选择fetch

3ee2554d89c6de04997bf9b095fb9d4c.png
1fbb82f4ab2a94aac2890388e188bc90.png

fetch 与pull区别

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中

而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决

switch/checkout(切换与检出)

当我们需要更换一个分支的时候,我们需要使用switch/checkout来做,可以更换到本地分支也可以更换到远程分支

右击项目根目录,选择tortoiseGit,然后选择switch/checkout

308f8f6f394a9d481b061586a3390be0.png

在弹出的框中可以选择本地和远程的分支,带有remotes的是远程分支,如果想获取最新的所有远程分支,在做switch/checkout操作之前,请先fetch同步一下,让远程分支信息保持为最新的。

05f3a20217cb026093abcee455aa2bd9.png

create branch(创建分支)

项目中需要开发新任务时,通常需要自己创建一个新的分支

右击项目根目录,选择tortoiseGit,然后选择create branch

08075c580d5e25b6ceee3c25643aedc6.png

在弹出框中填写分支名,然后选择基于的分支(也就是说这个新分支是基于哪一个原有的分支创建的)

bc0c605e91c636fbe45096bae2b1658c.png



推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
author-avatar
皮皮美2_160
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有