GitHub 20分钟教你学会使用熟练

一、git和github的区别
git是一种版本控制系统。跟svn、cvs是同级的概念。 
github是一个网站,给用户提供git服务。这样你就不用自己部署git系统,直接用注册个账号,用他们提供的git服务就可以。 
那是不是只有一个提供可以git服务的网站呢,答案是否定的,除了那个全世界最大的代码网站(github),还有一些小众的gitcafe、gitlab…等等,以及受国内开发者欢迎的oschinagit, 
当然是用这些服务都是必须注册使用的,另外再强调一件事情,越来越多的公司都开始用git进行管本控制了,公司肯定是自己搭建git服务了,最常见的是gitlab,如下图。


二、如何下手学习和使用
我曾经有这样一个经历,不知道有没有人和我一样,因为一开始没搞清楚git和github的区别,且经常看到别人动不动放出一个github项目,地址都是https://github.com/xx/xx.git,就直接去别人的官网https://desktop.github.com/的下客户端工具GithubStep.exe想“好好的”用下github,如下图:


问题是搞了半天,还是不知道如何操作,上传不会、更新不会,这时候你就想github怎么用起来这么麻烦,也许你会说,我英文好,我有的是时间,我可以慢慢摸索,那我想说,你为什么要在一棵树上吊死呢,还有你以后工作中用git服务可不是用的github,换到了gitlab你咋办,这个github自己的客户端工具仅仅对github有用噢。

其实你要明白github只是一个git服务而已,我们还是回归到git来吧,会用git管它什么代码托管服务,git的官方网站是https://git-scm.com/,下载 

我下载的最新的
按步骤安装【我是一路默认安装的 我是安装在 C:\Git目录下了】,这个客户端工具最终可以给你带来的结果是,你在你任意文件夹右键将看到 

Git GUI Here
Git Bash Here
其中我们以后常用的是git bash here,原因是用命令操作git服务更加灵活。

点击它们分别看到的界面是: 


三、如何用命令往github上传项目
由于我们使用的是git bash命令操作,首先得设置一些全局变量,如个人信息配置 
命令如下:


右键在: Git Bash Here 中  敲写如下代码

<span style="font-size:14px;">$ git config --global user.name 'liyintao'</span>
<span style="font-size:14px;">$ git config --global user.email 'lyt890916wlj@sina.com</span>


在完成此步骤后,继续真正的操作。 
1、注册完成后登陆进去,创建一个仓库 

切换到 Repositories 

点击new会弹出如下界面 

仓库名repository name就是你需要上传的项目名,填写完毕就可以提交了。
2、进入需要上传的项目目录,右键git bash进行后续操作

使用到的相关命令:

#初始化新版本库(通过git把项目管理起来)
git init
#添加所有文件(只是在本地准备好,注意那个“.”表示所有文件)
git add .
#提交本地git仓库(引号中是说明信息)
git commit -a -m 'version 1.0.0'
#连接远程仓库
git remote add origin https://github.com//liyintao520/seckill.git
#推入远程仓库
git push origin master 

今天使用git 添加远程github仓库的时候提示错误:fatal: remote origin already exists. 
可以删除远程仓库

$ git remote rm origin


执行完  git push origin master之后  正常情况:
在完成最后一个命令后会弹出输入框,让你分别输入用户名和密码,输入完毕后,你的项目将会提交到github上啦【用户名、密码就是你GitHub的用户名跟密码】

四、如何进行拉取github上的项目和修改了代码如何更新
1、拉取代码是最简单的,如下命令就搞定,选取你要拉取到的目标目录

git clone <span style="font-family: "microsoft yahei";">https://github.com//liyintao520/seckill.git</span>


2、修改代码提交,比第一次上传代码简单点,如下

git add .
git commit -a -m 'version 1.2.3'
git push origin master 


这里还是要输入用户名、密码的

五、如何免用户名和密码连接github
这也是很多同学关心的,每次都要输入用户名、密码太繁琐了

git提供了多重协议用来连接git服务器,其中最常见的就是https和git,git就是可以免用户名和密码的,不同的协议,项目连接地址是有区别的,如下

https 
https://github.com/liyintao520/seckill.git
git 
git@github.com:liyintao520/seckill.git
但是在你使用git协议的时候,要确保把你当前机器的公钥交给github,由于公钥是独一无二的,github能够认证

5.1、本地生成密钥对
任意目录操作下列命令

$ ssh-keygen -t rsa -C 'lyt890916wlj@sina.com'
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):


直接Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行):

Enter passphrase (empty for no passphrase): [Type a passphrase] 
 
# Enter same passphrase again: [Type passphrase again]


完了之后,大概是这样。

Your identification has been saved in /home/you/.ssh/id_rsa. 
 
# Your public key has been saved in /home/you/.ssh/id_rsa.pub. 
 
# The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db lyt890916wlj@sina.com


这样。你本地生成密钥对的工作就做好了。如下图


5.2、设置github上的公钥
1.登陆你的github帐户。然后 Account Settings -> 左栏点击 SSH Keys -> 点击 Add SSH key 


2.然后你复制上面的公钥内容,粘贴进“Key”文本域内。 title域,你随便填一个都行。 

3.完了,点击 Add key。

然后,验证下这个key是不是正常工作

 

$ ssh -T git@github.com
# Attempts to ssh to github


如果看到:

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


就表示你的设置已经成功了

5.3、修改git的remote url为git协议
如果你在连接github仓库的时候,用的https协议的地址,还需要切换为git协议 
可以用git remote -v 查看你当前的remote url

$ git remote -v
origin  https://github.com/liyintao520/seckill.git (fetch)
origin  https://github.com/liyintao520/seckill.git (push)


可以看到是使用https协议进行访问的。

这时,你可以使用 git remote set-url 来调整你的url。

git remote set-url origin git@github.com:<span style="font-family: "microsoft yahei";">liyintao520/seckill.git</span>

完了之后,你便可以再用 git remote -v 查看一下。

至此,OK。

你可以用git fetch, git pull , git push, 现在进行远程操作,应该就不需要输入密码那么烦了。

六、如何用eclipse对github项目进行版本管理
待续

转自:https://blog.csdn.net/liyintaoliuyun/article/details/51922211

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值