如何使用git向github提交项目

github是一个非常优秀的开源项目平台,所谓开源,上面的项目的代码都是公开免费的,例如Linux的核心代码,就是Linux 发明者 Linus Torvalds 在github上开源的。linux的核心代码传送门

github上有什么?可以做什么?

github上有很多优秀的开源项目,也可以 创建自己的项目,别人也可以对项目进行修改。
也有很多大佬都把自己的github作为类似博客来使用,更新解题攻略、面试攻略、学习资料等。cyc大佬的各种基础知识笔记就是更新在github上的。cyc的github传送门

github和git不同,git是用来进行版本控制的。github更像是一个类似于网站,git则是提交代码的工具。

如何使用github?

需要先通过sign up注册创建自己的账号,注册的步骤就省略了。
在这里插入图片描述
创建账号之后可以浏览个人主页,个人主页展示了你的项目和你关注的人,关注你的人,你star过的项目。
在这里插入图片描述

点击右上角的加号可以创建自己的仓库,也就是自己的项目。
在这里插入图片描述
点击之后,就可创建仓库,需要输入项目的名称和描述。可以生成一个mymusic的项目。记住这个名字,以后在git中提交有用。
在这里插入图片描述创建完成后的项目是这样的,code中是你的代码及文档,issue中是别的人给你提出你的代码可能存在的问题,pull request是发起请求。如果别人觉得自己可以在原有的项目上进行改进,则可以发起pull request提交代码。当你浏览别人的项目的时候,可以点击clone下载,或者给这个项目star。

如何使用git向github中提交项目?

创建好之后,要在库中传项目代码,才能供别人浏览。这个时候就要用到git。本地Git仓库和GitHub仓库之间的传输是通过ssh加密传输的。加密保证了传输数据的安全性。ssh采用公钥私钥的加密方式,GitHub需要识别是否是你传送,GitHub就要知道你的公钥,就可以确认只有你自己才能传送,所以需要配置ssh key。
安装git:git下载传送门
在这里插入图片描述
按步骤安装就可以,等待安装完成。

在这里插入图片描述
安装完成后,点击打开git bash,就会出现git的命令行窗口。
在这里插入图片描述
在以上命令行窗口中可以输入git命令。
之后,为了使git能够向github提交代码,需要生成ssh需要的公钥和私钥。先到C:\Users\Administrator\目录下查看是否存在.ssh文件,如果不存在,按以下命令生成,如果存在,则不需要再次生成。
在这里插入图片描述
以上命令可以生成公钥和私钥。

在这里插入图片描述
id_rsa为私钥,id_rsa.pub为公钥。这两个文件都是用来保证传输的安全性的。
在这里插入图片描述
在本地生成公钥和私钥之后,需要在github账户中配置公钥,打开github主页右上角的settings。
在这里插入图片描述
进入到setting后,点击ssh and gpg keys,在点击add new ssh key。
在这里插入图片描述
把id_rsa.pub文件用记事本打开,把其中的内容复制到Key文本框中,Title文本框的内容可以自己定义,然后点击add ssh key。
在这里插入图片描述
如上图所示就添加了一个ssh的公钥。
然后回到git命令行模式。
在这里插入图片描述
输入ssh -T git@github.com命令回车,在输入yes,显示如上图则成功。

在这里插入图片描述
连接成功后.ssh目录下还会多出一个known_hosts文件。
在这里插入图片描述
使用mkdir myproject命令新建一个myproject文件,这个目录用来存放项目代码,cd myproject表示进入这个文件。

在这里插入图片描述
输入git status命令查看git状态。返回以上,意思是git还不是一个git仓库,需要初始化。
在这里插入图片描述
输入git init进行初始化。
在这里插入图片描述初始化后在本地的myproject文件夹下多了个.git文件。

在这里插入图片描述
以上两条命令配置你的用户名和邮箱,github每次commit代码都会记录你的信息。user.name是你github账号的name,user.email是你github上注册的邮箱。

在这里插入图片描述
这个命令配置远程地址。
git remote add origin git@github.com:Jim11118/mymusic
在这个命令中,需要注意的是Jim11118是你的登录用户名,就是你的github主页创建一个仓库后这个仓库名的前缀。mymusic是你在github中创建的仓库的名字,不是本地文件夹的名字。
在这里插入图片描述
回车完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
在这里插入图片描述
本地文件夹内新建一个test文件,用来测试是否能将本地文件传输到github上
在这里插入图片描述
git add .命令将所有命令提交到待提交区。
git commit -m “注释” 是将代码从待提交区提交到本地。

在这里插入图片描述
git pull origin master --allow-unrelated-histories从远程拉取一下代码,即github中的代码,一般是多人协作时,在你上传自己的代码时,更新一下合作人员已经提交的代码,从而使工作保持在最新进度。一般,在github直接clone的项目,不用加–allow-unrelated-histories,而我这个本地项目文件夹是另外跟github上建立的库名字都不同,如果不加–allow-unrelated-histories,则会报错:fatal: refusing to merge unrelated histories。意思是拒绝合并不相关历史。git认为他们是不同的两个项目,不相关。问题解决方案传送门

在这里插入图片描述
成功拉取到了readme文件。

在这里插入图片描述
git push origin master命令将本地文件提交到github上去。
在这里插入图片描述
github 中mymusic项目出现了test文件,表示我们push成功,成功将文件提交到了github。github上可以查看提交记录。

还需要学习
  • git中关于分支的概念
  • ssh的公钥和私钥机制,这个面试经常被问到的非对称加密技术
  • 提交一个整个项目到github上
补充:git其它命令

git很多命令和linux相似。
在这里插入图片描述
git config --list 命令查看配置。

在这里插入图片描述
rm -rf .git的命令删除当前文件下的.git,如果错误的初始了库的目录,可在当前目录下删除该库。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值