2019.20.18更新:

把完整命令打一遍吧,不然看完太累了不是

//初始化文件夹
git init
//初始化目录,把基本文件下载下来,如ignore文件
git pull --rebase origin master
//把当前目录下所有文件上传
git add .
//添加注释
git commit -m "test"
//添加远程库
git remote add origin https://github.com/misland/Fuji.git
//拉取最新文件
git pull origin master
//向git推送文件
git push -u origin master

2018.9.30更新

一直以来有个问题没有解决,那就是首次上传时总是出问题,提示版本不对,刚开始都是用笨方法强制提交,现在用的比较多了感觉不是那么回事,于是今天就以搜了一下,还真找到了解决办法,这个大神写的,其实想想也是,在git上建好仓库后有ignore和read.md文件,但是在本地init后并没有这两个文件,首次上传时还不知道要忽略哪些文件呢,也就会报版本不对的问题,解决办法就是大神说的,执行以下命令即可:

git pull --rebase origin master

执行完后本地就有ignore文件和license文件了,再次执行提交命令就不会再报错了,感谢这些无私分享的大神~

先絮叨几句,本来没打算写这篇文章的,最近想把自己学习安卓时写的代码上传到github,以备后面忘记时再回来复习,所以找github相关的文章想学下如何玩这东西,正好前天看到一个哥们新发了一篇文章讲如何上传代码的,就想认真对照着的他写的自己也实践一下,结果文章里面关键部分的截图各种涂抹,含糊其辞,根本没法学习。又去网上搜了其它几篇相关文章,最后成功了,但是在过程中也是几经波折,遇到了两个问题费了好久才解决,并且还是在不同文章里面找到的,所以想汇总起来方便想学习的同学学习。

  ok,言归正传,要想将代码上传到github首先得在git上建个自己的库吧,不然你上传到哪里?建库什么难的,只有一个问题,license请设置成公开的,如下图

至于为什么,后面的问题里面会有解释,先不要急。另外就是请把你的库的地址记下来,进入你建好的库,右上角会有按钮Clone or download的,点它!然后在出来的框里点击复制按钮复制地址,如下图

  接下来下载github客户端(地址),安装~

安装完毕后关闭,然后进入你的代码所在的文件夹,右键,选择Git Bash Here后弹出git命令行对话框,如下图

被涂抹掉的部分是我的电脑名,不用在意。

  到这里你有没有一个问题?我要往github上传东西,现在github连我是谁都不知道,它怎么知道我要往哪上传呢?你说的很对,它要是知道就见鬼了。所以咱们要告诉github咱们的用户名和邮箱,在命令行里分别输入以下命令并回车,分别输入并回车,分别输入并回车,重要的事情说三遍。

git config --global user.name "wtf"
git config --global user.email "wtf@wtf.com"

以上两行一看应该就明白了,全局设置用户名和邮箱的,因为可能并不是仅仅在这一个文件夹里上传代码,以后或许还会上传其它代码呢。一般注册github应该都是用邮箱注册的吧,user.name就是你在github的昵称了,注册时都会填的,千万别告诉我你没有哦。这样设置完github才知道你是哪位大神。

  好了,准备工作做好了,弄好正式上传代码吧,依然是命令行对话框内,依次输入以下命令并回车

第一步:git init

这句话是初始化,相当于通知git我要在这里做代码处理工作啦,你做好准备吧。

第二步:git add .

注意后面有个点呀,这句话就是把当前文件夹下的所有文件都上传到github,当然你也可以只上传一个文件,在后面继续输入要上传的文件的名称就行了。比如:git add "wtf.txt"

第三步:git commit -m "test"

将添加的文件提交到库,这里并不是真的要提交,而是类似于数据库里面的事务一样,先存着,最后一次性执行,因为这时github知道你要上传到哪个库吗?后面引号里面的是注释,不用多说了吧。

第四步:git remote add origin https://github.com/misland/Fuji.git

到这里知道为什么建好库后要把地址保存下来了吧,这句话的作用是将本地代码与咱们前面建的库联系起来,到这里github才知道你是谁,要往哪上传代码。

第五步:git pull origin master

对不起,这句话什么意思我也不知道- -

第六步:git push -u origin master

这句话相当于数据库里面事务的提交方法,将所有的更改上传到服务器,这里是把所有的文件上传到github上。如果是第一次上传代码会弹出一个框让你输入github的用户名和密码验证身份,想想也是,要是谁都能往你的库里上传代码不是全乱套了?不得不吐槽下看着真的好像是让输windows的用户名和密码啊(谁让你的英语那么菜的?)。如果成功执行,你再进去github网站,打开你刚才建的库,就会发现里面已经有文件了,到这里就算大功告成了!

  当然,你或许会遇到问题,先别急,看看下面的问题是否包含了你遇到的问题。

问题和解决方案

问题一:Couldn't find remote ref master

如果前面四步都没什么问题,到了第五步遇到这个问题了,那么还记得建库时让你设置成公开的吗,如果不是公开的就会提示这个问题了,显然你是无法继续执行下面的步骤的。改成公开的就可以了。

问题二:Please enter a commit message to explain why this merge is necessary.

我第一次遇到这个东西时是懵逼了,不知道如何操作,虽然我能看懂下面的话的意思,是让输入提交代码的注释。

按键盘上的i键,进入输入模式,第一行的文本就是提交代码的注释,改成你想加的注释,当然也可以不改。改完后按键盘上的esc键,退出输入模式,输入":wq"回车,搞定!这个东西困了我好久有木有!!!

如何提交修改的代码

依然是进入到代码所在文件夹,依然是右键选择Git Bash Here,若你不想麻烦一个个的上传文件,从上面第二步开始执行就好了,如果只想提交一个文件,那就从第三步开始,只需在这一步标注标明文件名就可。

如:git commit -m "新加一个文件" "bobo.txt"

好了,到这里本篇就结束了,目前只是学会了上传代码和修改代码,分支合并这些功能还没用到,所以目前还没学,如果到时遇到问题就再来探讨。如果在实践的过程中遇到问题也可在评论里说下一起来解决。最后祝每位爱学习的同学都能顺利学到想要的东西,出任CTO,迎娶白富美,走向人生巅峰~

【不遮遮掩掩】Github上传本地代码以及常见问题解决方案的更多相关文章

  1. 【GIT】Github上传本地代码详解

    本教程结合Github服务端和客户端完成本地代码上传至Github,下面进行详细讲解: 1.创建Github账号,这一个步骤应该不用太多解释,直接上官网进行注册登录即可https://github.c ...

  2. 使用Github上传本地代码

    最近在学习Python,但是每次写完代码后不知道该怎么跟家里的电脑进行同步.于是开始了学习github ,方法很简单 1:注册个git账号:https://github.com 2:本地安装git软件 ...

  3. mac 上传本地代码到 Github 教程

    网上有很多关于windows系统上传本地代码到github的文章,但是自己用的是mac,在网上也找了相关文章,实践的过程中还是遇到了很多问题,现在把自己的成功实践分享出来,希望能对大家有帮助. 1.首 ...

  4. 上传本地代码及更新代码到GitHub教程

    上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...

  5. git配置SSH Key,上传本地代码至github

    git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...

  6. github小白上传本地代码及更新代码到GitHub及华为云教程

    上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo "# Test" >> ...

  7. 【Hyeri】上传本地代码到Github

    个人摸索出的上传本地代码到Github的办法 首先配置SSH Key(首次需要配置) 1.设置本地ssh key,打开git bash,输入命令: ssh -keygen -t rsa -C &quo ...

  8. Github 上传代码的两种方式

    上传本地代码/文件->Github 折腾了半天时间... Github前期准备部分 1)登录github,新建一个 repository 2)repository 命名 3)Github是一个托 ...

  9. 【iOS 使用github上传代码】详解

    [iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...

随机推荐

  1. 数据导入Excel时,出现ole error 800AC472这个错误,怎么解决。

    我也出现过这个问题 在生成报表的时候不要动EXCEL中的任何单元格 让它完成保存就可以了 或者是把office 2003 删除下载一个office 2000就可以解决 据说是版本兼容的问题 不是高手 ...

  2. java-web的请求和响应机制中的request请求

     1 Request对象和Response对象的原理 1.1  都是由服务器创建的  我们使用它 1.2 Request对象  是获取请求消息 response对象是响应 2 request 对象的继 ...

  3. 浏览器useragent

    var ua = window.navigator.userAgent; edge :Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537 ...

  4. RESTful API格式 图片验证码接口

    之前公司写图片验证码时用的是session 后来写接口时也想用session存验证码  不过领导说RESTful API 写接口 没有session这一说 于是就用了redis 存验证码 还有就是接口 ...

  5. Laravel5 (cli)命令行执行脚本及定时任务

    Artisan是Laravel自带的命令行接口名称,它提供了很多有用的命令想要查看所有可用的Artisan命令,可使用list命令查看: 1 php artisan list 每个命令都可以用help ...

  6. odoo研究学习:刷新本地模块列表都干了什么事?

    模块信息存储在ir.module.module 数据表中 平时在开发过程中经常会刷新本地模块列表,例如:新增了模块.更新了模块基础信息.更换了模块图标等等,在点击‘更新’按钮的时候odoo平台到底干了 ...

  7. 解决在jupyter notebook中遇到的ImportError: matplotlib is required for plotting问题

    昨天学习pandas和matplotlib的过程中, 在jupyter notebook遇到ImportError: matplotlib is required for plotting错误, 以下 ...

  8. Linux知识扩展二:lsof命令

    转:https://www.cnblogs.com/the-study-of-linux/p/5501593.html 1. lsof :list open file 显示linux下打开的文件信息. ...

  9. etcd-v2第二集

    参考文章:https://github.com/coreos/etcd/blob/master/Documentation/v2/api.mdhttp://www.cnblogs.com/zhengr ...

  10. TCP编程

    Socket是网络编程的一个抽象概念,通常我们用一个Socket表示“打开了一个网络连接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,在指定协议类型即可. 客户端 大多数连接就是考的 ...