Git 托管项目并上传到GitHub

一、Git 和 GitHub区别

1、git

git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。

版本管理存储在.git文件中,可以本地代码提交后恢复

2、github

github是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。 

github是一个非常适合程序员交流的网站,很多国际上的技术大牛都在github上有自己的开源代码,其他人只要申请个账号就可以随意的看到这些大牛写的程序。同时国内的很多互联网公司如百度,阿里等,也在github上公布有开源的代码,感兴趣的程序员也可以自己查找着看一些。

总结:

git可以认为是一个软件,能够帮你更好的写程序,github则是一个网站,这个网站可以帮助程序员之间互相交流和学习。

 

二、如何使用Git托管项目到Github

1、安装Git

使用以下命令来检测是否成功安装:

$ git --version
git version 2.12.2.windows.2

 

file

 

2、使用Git上传本地项目代码到GitHub

1)、创建本地版本库

    在空白地方点击右键--Git Bash Here,创建一个空目录:mkdir Wechat

    进入该目录,通过git init命令把这个目录变成Git可以管理的仓库:

    $ cd WeChat/ 

    $ git init

    

    新建一个文件test.txt,并提交到本地库

    

2)、在GitHub上创建一个远程仓库

    

3)、复制远程仓库的HTTPS地址

4)、在本地创建远程仓库别名

    $ git remote add origin https://github.com/Solin520/WeChat.git

5)、把本地库的内容推送到远程库上

    $ git push origin master

    

    输入GitHub账号的用户名和密码,点击Login

    

 

执行到此处报错:

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/jiangyangll/NewClient.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

出错原因:

原因是github中的README.md文件不在本地代码目录中

解决方案:

通过命令    $ git pull --rebase origin master    进行代码合并【注:pull=fetch+merge]

执行上面代码后可以看到本地代码库中多了README.md文件

再次执行语句 $ git push -u origin master即可完成代码上传到github  或  再次执行 $ git push origin master 命令行

 

6)、在GitHub上查看对应的项目WeChat,可以看到本地项目的文件已经提交到远程仓库上了

 

三、从GitHub下载项目到本地

如果GitHub上没有项目就自己创建一个,方法同上。这里我们使用上面创建的项目WeChat

1、复制项目WeChat的HTTPS地址

 

2、打开你想要存储的该项目的位置(如F:\GitProject),鼠标右键,点击Git Bash Here,弹出Git命令窗口,输入git clone 你复制的项目地址,如下所示,然后回车

3、通过上图可以看出,克隆远程仓库项目到本地成功。

4、测试

    新建一个文件apple.txt,提交到本地仓库

    

    由于git clone [远程地址]命令会自动创建一个origin远程地址别名

    

    所以可以直接通过 $ git push origin master 命令将本地库的内容推送到远程库上

    

 

    输入GitHub账号的用户名和密码,点击Login

    

    在GitHub上查看对应的项目WeChat,可以看到本地项目新增的文件apple.txt已经提交到远程仓库上了

    

 

四、SSH免密连接

在使用HTTPS协议连接github时,使用git pull、git push等命令时需要输入密码,让人感觉很烦,我们可以使用ssh协议链接实现免密连接。

1、生成SSH私钥公钥

ssh-keygen -t rsa -C "你的邮箱"    邮箱可以随便填

2、将生成的私钥公钥文件移动到C:\Users\Solin\.ssh目录下

 

3、登录GitHub账户,在setting中设置。

4、打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)

 测试命令:$ ssh -T git@github.com

 出现上图的提示就说明链接成功了。

 如果提示:git@github.com: Permission denied (publickey)

 请参考:https://blog.csdn.net/qq_32786873/article/details/80947195

5、配置好之后,使用方法与https协议的使用方法一致,只需要将https链接换成ssh链接即可。

    

    如果之前使用的是https协议,现在想换成ssh协议,只需要使用命令 git remote set-url url来调整你的url,或者重新增加一个远程仓库地址

    使用命令  $ git remote -v 查看你当前的 remote url

    

    如果是以上的结果那么说明此项目是使用https协议进行访问的(如果地址是git开头则表示是ssh协议)

    登录github,复制项目对应的ssh链接,然后使用命令 git remote set-url url来调整你的url,或者重新增加一个远程仓库地址

    如果是以上的结果那么说明此项目是使用https协议进行访问的(如果地址是git开头则表示是ssh协议)

    登录github,复制项目对应的ssh链接,然后使用命令 git remote set-url url来调整你的url,或者重新增加一个远程仓库地址

    

    然后就可以愉快的使用git pull , git push等命令,再也不用输入烦人的密码了。

    

 

总结:

    初次使用ssh协议实现免密连接大概需要三个步骤:

    1、生成密钥对

    2、设置远程仓库上的公钥

    3、设置git的 remote url 为ssh链接

    1,2两个步骤初次设置过以后,以后使用都不需要再次设置,第3个步骤视以后项目的remote url而定

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值