【不遮遮掩掩】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.前者可 ...
随机推荐
- java正则表达式 需要转义的字符
特别字符 说明 $ 匹配输入字符串的结尾位置.如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或‘\r'.要匹配 $ 字符本身,请使用 \$. ( ) 标记一个子 ...
- yum方面的知识
修改CentOS默认yum源为国内yum镜像源 1.mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bac ...
- django 数据库配置 ,APP 迁移.模型基础
# 1.数据库的连接配置django 连接mysql的配置流程:- 安装 pymysql pip install pymysql- 创建数据库用户有创建数据库权限的用户- 创建数据库crm .进入数据 ...
- 用归并排序或树状数组求逆序对数量 poj2299
题目链接:https://vjudge.net/problem/POJ-2299 推荐讲解树状数组的博客:https://blog.csdn.net/int64ago/article/details/ ...
- 100-days: sixteen
Title: The world's most expensive cities 生活成本最高的城市 For the first time in its 30-year history, the Wo ...
- sendBroadcast无法接收消息可能原因
Beginning with Android 8.0 (API level 26), the system imposes additional restrictions on manifest-de ...
- Linux移植之tag参数列表解析过程分析
在Linux移植之内核启动过程start_kernel函数简析中已经指出了start_kernel函数的调用层次,这篇主要是对具体的tag参数列表进行解析. 1.内存参数ATAG_MEM参数解析 2. ...
- FastFDS安装及简单使用
1. FastDFS安装(ubuntu) 需要准备: nginx.fastdfs.libfastcommon.gcc.git apt-get update apt-get -y install mak ...
- 为什么Firefox在SSH上这么慢?
为什么Firefox在SSH上这么慢? Modified on: Fri, 13 Jul 2018 18:37:30 +0800 我尝试使用 通过SSH启动Firefox ssh -X user@ho ...
- C# Chart控件教程
一.什么是Micosoft.Chart.Controls Micosoft.Chart.Controls是微软自带的一个图形可视化的组件,可以在Web程序和窗体程序中(Windowsform)中使用. ...