git入门基础介绍

96
澳利澳先生
2017.12.02 00:30 字数 1306

首先还是简单介绍一下吧:

它是一种分布式的版本控制系统,目前最流行的。前提条件首先安装好git工具。

1、clone远程仓库有两种方式:SSH 和HTTPS.

就是两种不同的通信协议,原理性的东西不多说了,也不是很懂。

SSH 方式: 这个需要事先在git服务器上获得你当前电脑设备上的 SSH公钥的认证才行正常使用。

    (一)、默认情况下,用户的 SSH 密钥存储在其~/.ssh目录下。怎么看呢?

      默认已经安装好了git, 并且右键菜单里有Git Bash Here这个快捷启动命令行的方式。无论在任何地方打开这个命令行都行。输入:cd ~/.ssh ,如果没有这个目录的话就会有提示,如果有的话,再输入:ls 就可以看到有id_rsa 和id_rsa.pub这个两项了,一个是私钥一个是公钥(.pub后缀的),这个.ssh目录的实际位置大多(默认)在:C:\Users\Administrator\.ssh 。

    (二)、如果该目录还没有这对密钥,下面就手动创建一个:

同样也是在git bash命令行窗口里输入:ssh-keygen –t rsa –C  “xxxxxxxxx@qq.com” ,当然后面的邮箱地址可以是你任何一个git服务器的帐号邮箱,一般可以是github的。注意,这里的-C一定是要大写的。之后会提示要你输入密码:直接3个回车就行了,表示密码为空。完成后就可以用上面的命令或直接找到.ssh目录的位置就会看到有id_rsa和id_rsa.pub这两个文件了。

    (三)、在git服务器上添加你本机生成的ssh公钥:

这里以github为例,找到github官网里的Settings -> SSH keys。用文本编辑器打开id_rsa.pub文件,复制里面所有。然后在github上添加一个SSH key, Title随便填,好记容易区分就行。然后把本机复制的公钥粘贴到key内容区就行了。

上面二、三步骤完成后,就可以功过ssh方式clone仓库并且可以直接push了。

HTTPS的方式:

这种方式,使用起来简单,但是在你每次push的时候都会提示你输入你在远程git服务器上的帐号和密码。当然也可以通过设置省去每次都输入帐号密码的麻烦:

同样git bash下输入:touch ~/.git-credentials 。这样会创建一个.git-credentials文件。

默认也是在C:\Users\Administrator\目录下。找到并用文本编辑器打开添加一行:https://{username}:{passwd}@github.com 。username和password记得替换成你的真实的帐号密码。@符号后面接的是你git服务器的地址,如果你公司有自己的git服务器,记得更换。然后再回到git bash命令行输入:git config --global credential.helper store 。这样就好了。

2、获得git仓库的两种方式;

获取Git仓库,也有两种方式,一种是直接在本地初始化然后添加到远程git服务器,另一种是从服务器端clone下来;

(一)、本地初始化一个仓库,并添加到远程git服务器:

先本地新建一个文件夹,可事先放一些文件和项目,然后在该目录下用git bash命令行工具输入:git init命令,这样就初始化了一个本地git 仓库了。

*重点:第二步是把这个git仓库和一个已有的远程git仓库(可以github上的,可以是已有内容的也可以是空的)关联起来,在git bash里输入命令:

git remote add origin git@github.com:github帐号名/仓库名.git 。注意:这里的仓库名最好和上面那个本地仓库的文件夹名同名。

然后就可以在用git status命令查看状态,可以看到原来本地仓库里有哪些内容还没有提交到远程github的,最后就可以用相关命令(git add和git commit等)提交了。

如果远程仓库是个空的仓库,什么都没有则提交时需用命令:git push --set-upstream origin master

(二)、直接从服务器端仓库clone下来(这种最常用)

从远程克隆一份到本地可以通过git clone;在你要存放的位置打开git bash输入:

 git clone git@github.com:github帐号名/仓库名.git 。注意:这种方式不用事先建立一个和仓库名同名的空的文件夹,只要定位到想存放的文件目录下就行了,clone的时候会自动建立该仓库同名的文件夹。

3、To be continue......

git相关
Web note ad 2