【不遮遮掩掩】Github上传本地代码以及常见问题解决方案
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上传本地代码以及常见问题解决方案的更多相关文章
- 【GIT】Github上传本地代码详解
本教程结合Github服务端和客户端完成本地代码上传至Github,下面进行详细讲解: 1.创建Github账号,这一个步骤应该不用太多解释,直接上官网进行注册登录即可https://github.c ...
- 使用Github上传本地代码
最近在学习Python,但是每次写完代码后不知道该怎么跟家里的电脑进行同步.于是开始了学习github ,方法很简单 1:注册个git账号:https://github.com 2:本地安装git软件 ...
- mac 上传本地代码到 Github 教程
网上有很多关于windows系统上传本地代码到github的文章,但是自己用的是mac,在网上也找了相关文章,实践的过程中还是遇到了很多问题,现在把自己的成功实践分享出来,希望能对大家有帮助. 1.首 ...
- 上传本地代码及更新代码到GitHub教程
上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...
- git配置SSH Key,上传本地代码至github
git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...
- github小白上传本地代码及更新代码到GitHub及华为云教程
上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo "# Test" >> ...
- 【Hyeri】上传本地代码到Github
个人摸索出的上传本地代码到Github的办法 首先配置SSH Key(首次需要配置) 1.设置本地ssh key,打开git bash,输入命令: ssh -keygen -t rsa -C &quo ...
- Github 上传代码的两种方式
上传本地代码/文件->Github 折腾了半天时间... Github前期准备部分 1)登录github,新建一个 repository 2)repository 命名 3)Github是一个托 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
随机推荐
- tesseract编译错误:fatal error: allheaders.h: No such file or directory
错误描述: globaloc.cpp::: fatal error: allheaders.h: No such file or directory #include "allheaders ...
- python学习笔记(四)- 常用的字符串的方法
一.常用的字符串方法(一):(字符串是不能被修改的) 1)a.strip() #默认去掉字符串两边的空格和换行符 a = ' 字符串 \n\n ' c = a.strip() a.lstrip() ...
- 网络请求Adapter添加数据
一般在开发中我们都需要在listview中添加数据显示在界面上 1.首先我们会在布局中写一个listview <FrameLayout xmlns:android="http://sc ...
- 43 【redis cluster】
有两篇文章不错,可以看下: 1,初步理解redis cluster:https://blog.csdn.net/dc_726/article/details/48552531 2,仔细理解redis ...
- IIS上配置单页面404
问题 因为我们的应用是单页客户端应用,当用户在浏览器直接访问http://www.xxx.com/user时,刷新页面的时候,会返回404错误. 问题原因 服务端URL匹配不到相应的路由资源 解决方案 ...
- c#子线程线程中操作窗体更新的报错
用 在执行上传时,由于操作较长窗体界面卡住,于是用task解决 Task t1 = new Task(manage.UploadData); t1.Start(); 结果不卡了,程序也传完了,运行到更 ...
- python 的面相对象编程--对应c++
在python的面相对象编程中,我们常常在class中可以看到a(), _b() , __c(), __d()__这样的函数. 由于我是看廖雪峰老师的教程,廖老师为了简单起见,没有引入太多概念,我 ...
- Android app中存储文件的路径
// 获得缓存文件路径,磁盘空间不足或清除缓存时数据会被删掉,一般存放一些临时文件 // /data/data/<application package>/cache目录 File cac ...
- 学习:java集合
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, Jav ...
- C++ MFC棋牌类小游戏day2
反思了一下昨天的设计,觉得略有不足,我决定把棋盘做成单例模式.这样的话需要重新设计棋盘类,emmm,是新建棋盘类. Baord类 成员变量: Location coordinate;//棋子坐标 b ...