您的位置:首页 > 编程语言

Git提交项目到Github完整流程

2018-01-09 22:10 169 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sunshine_chao/article/details/79018136

这是在CSDN第一篇博客,以后也一定会坚持写博客,虽然不一定很深入,但是一定会用心的去写,这样才能提高自己的能力。至于想写此文的目的,主要是最近准备自己业余动手敲一个完整一点的项目,同时需要使用Git与Github,毕竟以前用的并不是太多,对语法虽然知道,但是不熟悉。而且尽管现在工作不需要使用Git,但指不定哪天就需要使用,如果不够熟练那也是很郁闷的。不闲扯了,接下来正式开始介绍Git与Github结合使用,最初可能是一些最基本的,后期使用中遇到一些坑或者其他问题都会记录在此文章。

Git介绍就不说了,就是版本控制,管理我们的代码,这篇文章想说的主要还是如何把本地的项目提交得到Github上去。首先当然是需要你有自己的Github账号及安装了Git,这些都是一步步往下走就不多说(说明一下,此文目前是针对windows系统)

1,准备条件(SSH授权)

我们需要使用Git向我们自己的Github上提交自己的项目或者其他资源,需要我们的电脑与Github之间进行一种SSH授权,授权之后才能进行提交,如果不进行授权就能提交,那任何人都可以随意的提交东西到别人的Github上,那就乱套了。这里不会细说,因为我也是从别处学来的,这里讲的主要是如何操作。接下来看我们如何让自己电脑与Github之间进行SSH授权。
我们安装了Git之后鼠标右键会出现Git Bash Here,点击Git Bash Here进入到Git终端,如图:

接着在Git终端里输入 ssh-keygen -t rsa 然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两个文件默认生成的位置在/C/Documents and Settings/username/.ssh 下,如下图,我生成的文件:

接下来要做的是把 id_rsa.pub 的内容添加到 GitHub 上,这样你本地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥进行配对,授权成功才可以提交代码。

接下来我们看如何把 id_rsa.pub的内容添加到Gitdhub上:

在Github的设置页面,可以添加SSH key,这里要添加的 SSH key就是我们之前生成的 id_rsa.pub的内容:如下图

点击New SSH key之后会出现如下图页面

如上图中当所有信息都填写完成后点击左下角的Add SSH key按钮即可添加成功,注意,当点击Add SSH key按钮后会需要你输入一次你的Github登录密码。添加成功后如下图:

这样一个流程走下来我们的SSH授权算是完成了。如果还有什么疑问的地方可以参考从0开始学习 GitHub 系列之「向GitHub 提交代码」

2,Git配置

首先我先新建了一个项目,如下图,就是一个普通的AndroidStudio项目。

接下来右键Git Bash Here进入Git终端,如下图

然后我们就可以开始进行Git操作了,不过在进行Git操作之前我们一般还是先配置一下Git,输入git config –global user.name “xiaochao(这是你的用户名,自己设定)”回车,接着再输入git config –global user.email “xiaochao.dev@gmail.com(这是你的邮箱,建议和你的Github邮箱一致)”,这样就配置好了用户名与邮箱,以后每次提交我们查看记录都可以看到提交的用户名与邮箱global 是全局属性,不设置表示只对当前项目有效,对了忘了说一下如何检查你的用户名与邮箱是否设置成功,其实很简单,输入git config –global user.name,如何出现的是你设置的用户名就正确了,邮箱也可以同样检测,如下图:

PS:我们在 GitHub 的每次提交理论上都会在主页的下面产生一条绿色小方块的记录,如果你确认你提交了,但是没有绿色方块显示,那肯定是你提交代码配置的邮箱跟你 GitHub 上的邮箱不一致,GitHub 上的邮箱可以到 Setting -> Emails 里查看。

3,开始使用Git向Github提交代码

此次我们是完全从一个新项目开始提交到Github上,首先需要先将我们的项目初始化为Git仓库,在Git终端输入git init,出现如下图所示表示初始化成功,项目下多了一个.git文件夹,当然有些人电脑下可能看不到,因为这是一个隐藏文件,需要你设置隐藏文件可见才能看到。

接下来我们输入git add .将当前目录下的所有文件提交到暂存区(注意,add .之间有空格),最后使用 git commit -m “第一次提交新项目”将之前提交到暂存区的文件正式提交到了本地仓库,-m后面接的信息根据自己需求填写,比如你改动了什么东西,就可以填改动了xxx,方便自己查看,最后使用git log查看我们刚才提交的信息,这里我们本地提交的流程就走完了。如下图,其中显示了用户名和邮箱,这里就是我们最开始自己配置的用户名与邮箱

接下来我们需要把我们本地的仓库提交到Github上,如图,首先在Github上建立了一个仓库:

接下来输入:
git remote add origin https://github.com/xiaochaodevelop/FashionNews.git
关联我Github上的仓库https://github.com/xiaochaodevelop/FashionNews.git可以替换为git@github.com:xiaochaodevelop/FashionNews.git如下图:
,这样我们就把本地仓库与远程仓库关联起来了,接下来就是把本地仓库的内容推送到GitHub仓库
输入:git push -u origin master,发现居然失败了,如下图

在网上找了下原因:
此时很多人会尝试下面的命令把当前分支代码上传到master分支上。
  $ git push -u origin master
  但依然没能解决问题
  出现错误的主要原因是github中的README.md文件不在本地代码目录中
  可以通过如下命令进行代码合并【注:pull=fetch+merge]
  git pull –rebase origin master
  执行上面代码后可以看到本地代码库中多了README.md文件
试了之后本地确实多了README.md,然后再次输入git push -u origin master果然解决了问题,最后看图

4,总结

此文主要记录了从新建一个项目到提交到Github上的一个流程,接下来总结下:
1.拥有自己的Github账号,创建一个新仓库,安装Git
2.进行SSH授权,这一步很重要,不要我们是没法把本地代码推送到Github上的
3.配置用户名和邮箱
4.git init初始化本地仓库
5.git add .提交目录下所有文件到暂存区,git add 文件名可以提交单个文件
6.git commit -m “信息”提交到本地仓库
7.git remote add origin https://github.com/xiaochaodevelop/FashionNews.git或者git remote add origin git@github.com:xiaochaodevelop/FashionNews.git关联远程仓库
8.git push -u origin master将本地仓库推送到Github上,注意这里第一次推送可能会出错,原因是github上的README.md不在本地仓库中,通过git pull –rebase origin master将远程仓库与本地仓库合并,本地文件中多了README.md文件,再执行git push -u origin master就能成功把本地项目推送到Github了。

本来想一篇文章解决记录的,现在看来后期还需要写一篇关于Git的一些常见及比较有用的命令的文章,主要是为了记录下来方便查看及增加印象。

如果想详细了解Git的可以点击这里廖雪峰老师的Git教程

5,后加,让Github上新创建的仓库关联本地项目

今天学习微信小程序的时候想着把demo上传到GitHub上,这时候就需要在Github上新建一个仓库,然后把本地项目跟GitHub上的仓库关联起来,提交到GitHub上,接下来就说一下流程:
1. 首先把本地项目通过git init初始化仓库,然后git add .将所有文件都提交到暂存区,再通过git commit -m “说明信息”将文件提交到本地仓库。这样我们的项目就已经提交到了本地仓库。
2. 接下来就需要把本地仓库和远程仓库关联起来,这一步也是最重要的,通过git remote add origin “远程仓库路径”,例如我的远程仓库路径为git@github.com:xiaochaodevelop/small-routine.git我们就通过git remote add origin git@github.com:xiaochaodevelop/small-routine.git来进行关联,这样我们就把本地仓库和远程仓库关联成功了。按道理来讲是可以使用git push -u origin master将我们本地的项目提交到GitHub上了。但是实际操作下来却是出现如下图所示的情况
关于这个原因我查了一下,是因为我们GitHub仓库的README.md文件不在本地仓库中所造成的。这个时候我们需要执行git pull –rebase origin master命令,这样我们本地就有了GitHub的README.md文件,此时再git push -u origin master就可以成功了。
接下来还是直接总结一下命令:
git init
git add .
git commit -m “info”
git remote add origin 远程仓库路径
git pull –rebase origin master(注意中间有两根-,这里不能复制,复制出来只会有一根-,也不知道是什么坑)
git push -u origin master
好了,将本地项目关联到远程仓库并提交的步骤也就是这些了。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐