这是在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
好了,将本地项目关联到远程仓库并提交的步骤也就是这些了。

Git提交项目到GitHub完整流程相关推荐

  1. Git提交项目到GitHub

    一.GitHub新建项目 1.进入Github首页,点击New repository新建一个项目 2.填写相应信息后点击create即可 Repository name: 仓库名称 Descripti ...

  2. 1、eclipse 使用git提交项目至github进行项目托管

    1.登录github创建仓库 2.eclipse 选中要上传的项目,创建本地仓库 3.finish之后,整个项目的效果为: 1.项目文件夹内多了.git文件夹,该文件夹为该项目的本地仓库,用于管理版本 ...

  3. Git Bash基本命令,Git提交代码到GitHub,GitHub获取代码到本地

    Git简介,GitHub与Git区别,Git与SVN区别:Git简介 Git与GitHub区别和关系 Git官网下载(国内超慢):Git官网下载 Git淘宝镜像(下载非常快):Git淘宝镜像 推荐Gi ...

  4. 【git】(task4)git提交规范和github说明

    学习总结 学习datawhale的git教程.Pull Requests:PR,是github中将修改过的代码分支合并到目标分支的操作.commit是git的最小工作单元,在github的仓库中,PR ...

  5. 不用copy代码--eclipse使用git提交项目-转

    原文地址:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...

  6. git提交项目到已存在的远程分支

    今天想提交项目到github的远程分支上,那个远程分支是之前就创建好的,而我的本地关联分支还没创建. 之前从未用github提交到远程分支过,弄了半个钟,看了几篇博文,终于折腾出来.现在把步骤整理下: ...

  7. mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案

    mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案 参考文章: (1)mac电脑Git提交代码到Github提示git-credential- ...

  8. 华为手表开发:WATCH 3 Pro(3)创建项目以及运行完整流程

    华为手表开发:WATCH 3 Pro(3)创建项目以及运行完整流程 初 环境与设备 创建项目 创建项目入口 配置项目 运行项目 报错 需要在 Appgallery Connect , 创建项目,然后在 ...

  9. vscode使用git提交项目到coding

    目的:vscode使用git提交项目到coding 修改仓库名称将导致仓库的访问 URL 改变,在此之前的 URL 地址将失效.Git 仓库地址修改方法: git remote set-url ori ...

最新文章

  1. 装饰者模式 php,PHP设计模式之装饰器模式
  2. Windbg学习使用
  3. orale用户角色管理
  4. matlab 滤波器设计 coe_一种半带滤波器的低功耗实现方法
  5. 亲密接触VC6.0编译器
  6. 转载-----Java Longest Palindromic Substring(最长回文字符串)
  7. Android 完全退出程序,以及再按一次返回键退出程序
  8. mybatis-plus根据多个字段排序_PHP中Thinkphp5框架的多字段排序
  9. SpringMVC:400 Bad Request
  10. protel99se简明实用手册
  11. 数据结构视频教程 -《[北大张铭 精品课程版]数据结构与算法(C++)》
  12. 30分钟做一个二维码名片应用,有源码!
  13. stm32f401RET6 时钟配置
  14. node项目部署到云服务器
  15. 《LDAP》LDAP自定义objectclass和属性
  16. Java多线程 信号量和屏障实现控制并发线程数量,主线程等待所有线程执行完毕1
  17. 关于‘\0’,‘0’,“0”,0的区别
  18. 机器学习——霍夫丁不等式【转】
  19. vs项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序的解决办法
  20. Codeforces Round #760 (Div. 3) (ABCDEF)

热门文章

  1. linux getcwd 头文件,linux – rsync:getcwd():没有这样的文件或目录(2)
  2. 如何进入华为P40 debug 模式/开发者选项模式
  3. 飞思卡尔k66,k60无限重启
  4. webpack常用基础配置的一些总结
  5. 【加拿大访问学者】加拿大康考迪亚大学访问学者相关问题解答【魁北克及蒙特利尔地区必看Concordia University Visiting Scholars or Research Interns】
  6. 一台电脑借助另一台电脑实现上网
  7. VBA中调用Excel函数
  8. java+springboot学校小卖部超市收银系统maven
  9. 概率笔记2——古典概型
  10. 3D游戏里的男女性角色模型是这样建模出来的