axuey

Git的安装与使用

本文内容涉及到两个软件:Git和Tortoisegit,前者是一种分布式版本控制系统,操作方式为命令行;后者为前者的一种图形化软件,可减少操作的复杂度,不用记git的各种命令也能实现版本管理。

首先通过官方下载链接下载安装包:Git-downloadTortoisegit-download

一、安装与配置

1.1 软件安装

​ 一般先安装Git,再安装TortoiseGit。(先安装Git,后面在安装TortoiseGit时可自动生成Git位置。一路默认安装基本没什么问题。另:有需要的话TortoiseGit在上述步骤结束后安装简体中文包,安装完成后在右键菜单里可以进行设置调整,如下图:)

Git和TortoiseGit按默认选项安装即可,如果需要了解具体安装过程选项,可参考博客A:Git的安装博客B:TortoiseGit的安装

1.2 本地版本管理配置

​ TortoiseGit在安装的过程中已进行用户名和邮箱账号的配置,如果只是本地进行版本管理(主要是做文件备份),此时Git和TortoiseGit已经可以开始使用啦。

注:Git和TortoiseGit安装结束后,在TortoiseGit端设置的用户名和邮箱账号就会默认同步到Git, 且此处填写的用户名和邮箱可随意填写,仅作为标识符(这样操作不安全,可能有人会冒充身份进行操作)。

以下是查询git配置用户的命令:

$ git config user.name  ##git命令行输入查询用户名命令
axuey    ## 输出,与tortoisegit端设置的一致

例:克隆Github上的代码到本地,修改并提交

  • Step1:如图示,在需要的代码页面复制HTTPS的下载链接:

  • Step2:进入本地下载位置文件夹,右键菜单选择【Git克隆】,输入第一步复制的下载地址并提交。

  • Step3:下载成功显示如图:

  • Step4:修改文件后右键菜单选择【Git提交->"master"】,即可点击提交,如图:

1.3 SSH链接在线仓库配置(SSH方式登录Github和Gitlab)

​进行本地版本控制管理时,用户名和邮箱可随意填写,仅作为标识符。(只是下载代码的话,无需注册账号就能clone到github上面的代码,原因是github的仓库一般都是公开的,任何人都可以下载(clone),但只有本人可以有修改权限.)

​Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,最早只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,进行其他操作。上述本地的版本管理只是其功能的一个小部分。但在实际情况下,有一台电脑充当服务器,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。Github等平台就是充当这种角色的(服务器)。

若需要进行多人协作,可先注册Github,再用Github的账号登录Gitlab,两个平台的账号和密码即可一致。(Github仓库公开,Gitlab可建立私有库。满足不同需求)。各种类别的仓库权限如下所示:
私有库:只有被赋予权限的用户可见
内部库:登录用户可以下载
公开库:所有人可以下载

此处介绍一种配置SSH链接在线仓库的方法:
Step1:生成SSH Key
创建一个 SSH Key:在任意文件夹下点击右键,选择【Git GUI Here】。在弹出的程序中选择主菜单的【Help】->【how SSH Key】,如果没有,点击生成SSH Key。此时会有一个设置密码的界面,设置密码后,进行版本控制时,每次与GitHub通信都会要求输入密码。正常会得到可复制的一个SSH Key和用户主目录下的两个密钥文件(文件名:密钥为id_rsa,公钥为id_rsa.pub),前面的SSH Key就是公钥文件的内容,密钥保存在电脑里,用来和服务器上的公钥配对进行信任验证。

Step2:将SSH Key填入Github和Gitlab

Github:设置里选择:SSH and GPG keys,填入SSH Key即可。

Gitlab:设置里选择:SSH keys,填入SSH Key提交即可。

完成以后,任意位置单机右键,选择【Git Bash Here】,命令行环境下使用以下命令验证下这个 Key 是不是正常工作:

 $ ssh -T git@github.com

显示如下结果时,表示设置已经成功了。

Hi xxx! You\'ve successfully authenticated, but GitHub does not # provide shell access.

​ 此时SSH Key配置结束,Git已经可以使用SSH下载Github上的文件了(注意:Github上复制的链接应选择ssh链接,区别于上述的HTTPS链接)。但是TortoiseGit还不能直接使用,由于它使用扩展名为ppk的密钥,不是ssh-keygen生成的rsa密钥,所以想使用TortoiseGit设置ssh方式连接Github仓库的话,还需要进行以下配置(将私钥转成 .ppk 格式):

1)运行 PuTTYgen,在 Conversions 菜单中点击 【Import key】,选择一开始生成的私钥文件:id_rsa 文件。
2)点击 【Save private key】,将其保存为. ppk 文件。
3)打开 Pageant,点击 【Add Key】,选择前一步所保存的. ppk 文件所在的位置即可。
4)右键进行clone时选择私钥位置;
  PuTTYGen 和 Pageant 都在开始菜单中的 TortoiseGit 文件夹下可以找到。
配置结束后,下载代码成功,如图:

上述仅为一种方法,也可以直接在TortoiseGit端配置,可参考博客

二、常用的操作

2.1 从Github和Gitee网站上克隆代码

在需要添加代码的地方,单击右键选择【Git克隆】,如下图,在1处输入网站上复制的链接,在2处选择putty密钥位置(仅第一次使用需要),点击确定即可。

2.2 创建分支,将修改后的文件提交到新分支上

单击右键选择【TortoiseGit】->【创建分支】,在出现的界面填写分支名和描述,并勾选【切换到新分支】;在修改文件后单击右键,选择【Git提交->"新分支名"】选项;勾选要提交的文件,填写日志信息并【提交】;

2.3 创建在线仓库,将新分支推送到在线仓库

GithubGitee上创建新仓库后,使用ssh链接将仓库克隆到本地,在按照2.2所述创建分支并提交,结束后在提交成功窗口选择【推送】即可;或者也可以右键选择【Git提交】。

2.4 将新分支推送到其他人的仓库

  1. 首先需要在别人的仓库下点击Fork,克隆Fork后自己仓库下的链接;
  2. 按照2.2所述创建分支并提交;
  3. 按照2.3将新分支推送到在线仓库;
  4. 进入在线仓库的个人主页下Fork的仓库页面,切换分支后选择【pull request】,填写信息后即可提交;
  5. 等待仓库原主人审核即可。

分类:

技术点:

相关文章: