Windows下上传项目到github
首先,一定要有耐心。看到一大堆的命令行(其实并没有一大堆)不要觉得枯燥,最后当你成功把你的项目上传上去之后那种胜利的成果,还是挺有意思的。本人第一次写博客,勿喷。
我写的是主要的流程,详细内容还请移步廖雪峰老师的官网:Git教程 - 廖雪峰的官方网站
准备工作
安装git
从https://git-for-windows.github.io下载,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
配置机器名字和Email地址
在Git Bash打开的命令行输入
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
配置SSH
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第2步:添加SSH key。登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
点“Add Key”,你就应该看到已经添加的Key:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。
如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。
SSH Key只需要配置一次,以后上传项目就不需要再次配置了。
上传本地项目
当SSH安装完成后,你就可以开始上传你的本地项目了。
下面的3幅图是要输入的命令行:
详细步骤:
1.打开Git Bash
如果你已经安装过Git客户端,在要上传的项目上右键可以找到Git Bash Here
2.按步骤输入命令行上传项目
(如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文)
通过git init命令把这个目录变成Git可以管理的仓库
$ git init
查看当前项目目录的提交状态
此时如果项目下有未add到暂存区或提交的会以红色字体显示
$ git status
将文件或目录加入到暂存区
add后面的文件是上一步显示出来的红色文件或目录,直接添加即可
执行完add语句后在执行“$ git status”可以发现刚才add的文件变成绿色字体了
注意过滤如下文件(不需要add)
Eclipse请过滤:
*.class
*.apk
bin/
gen/
.settings/
proguard/
Android Studio请过滤:
build/
.idea/
.gradle/
*.iml
local.properties
$ git add .classpath
$ git add .project
$ git add .settings/
$ git add bin/
$ git add src/
将文件或目录提交到本地仓库
-m后面“”里边的内容代表此次提交的说明文字
目前位置只是将项目寄存到本地仓库,接下来还要和远程仓库连接并上传
$ git commit -m "add project"
添加远程库
在github上创建一个同名的项目
点击Create repository ,会发现有两句本地post的提示,分别复制(这里我选的SSH,选HTTPS也可以)
把本地库和github关联
git remote add origin git@github.com:wanganan/ShiPei.git
提交项目到github
将本地代码提交到服务器
-u代表该项目是第一次提交,以后提交通过命令“$ git push origin master”就可以提交了
git push -u origin master
提交完成
push之后稍等几秒,可以看到“Writing objects: 100% (10/10), 3.46 KiB | 0 bytes/s, done.
”就意味着提交成功了。
此时在github重新打开你的项目,可以看到你的项目已经上传上去了。怎么样,是不是很爽呀!
至此,github的上传已经完成了,谢谢观阅
注意:
这里有一个非常坑爹的问题,就是在 git remote add origin git@github.com:wanganan/ShiPei.git 之后可能会有这样的错误提示 fatal: remote origin already exists.
这种情况是因为你的这个项目已经关联过一个远程库了,解决办法如下
$ git remote rm origin
这句的意思就是移除项目与远程的连接。
这个时候在 git remote add origin xxx 就不会报错了。
原文:https://blog.csdn.net/Gold_brick/article/details/52638503
Windows下上传项目到github的更多相关文章
- Git在windows下上传文件至github流程
github是开发者分享的一个平台,这里不多说,想要上传文件至github需要有一个开发者账号,还需要在windows下安装好了git. 做好准备工作之后,接下来操作 一:登录github,创建项目 ...
- Windows如何上传代码到Github
1.首先得安装git客户端 进入官网:https://git-scm.com/ ,点击右侧下载windows版本的软件包,然后双击安装就可以了. 安装完成之后,在开始菜单可以看到,此时,在想上传的文件 ...
- 直接利用本地git上传项目到github
http://m.blog.csdn.net/article/details?id=50441442 本文将详细介绍如何托管你的项目到github上 转载请标明出处: http://blog.cs ...
- 手把手教你用git和SourceTree上传项目到github细解(转)
尊重原创:https://blog.csdn.net/qq_32365567/article/details/52859166 一.引言 我想大家现在都很熟悉github了,也能运用github上开源 ...
- Android快速实现上传项目到Github
本文为skylinelin原创,转载请注明出处! 一.简介 现在在网上浏览关于Git的文章,基本上都是使用命令行(Git Bash),命令行效率是很高的,但是有一定的复杂性,现在我们看如何用AS来讲项 ...
- Android Studio 快速实现上传项目到Github(详细步骤)
前言: 本文主要讲解如何将Android Studio项目上传至GitHub,在此之前,先介绍几个概念. Android Studio:是谷歌推出一个Android集成开发工具,基于IntelliJ ...
- 使用git上传项目到GitHub上
之前的博客有<使用git拉取GitHub上的项目>的文章,那么现在说一下,如何上传项目到GitHub上. 1. Git的.gitignore 文档配置 因为项目中可能有很多的图片还有nod ...
- 使用idea上传项目到gitHub
上传项目到gitHub 创建好后开始提交本地项目代码如图: 选中VCS选中图中的按钮如图所示: 然后再选中Src点中add按钮如图所示: 然后点中commit Directory后 打开终端进行项目根 ...
- 初次在cmd使用git命令上传项目至github方法(笔记)
在一切开始之前,先推荐一个git简易工具书--Git_Cheat_Sheet,非常适合新手.自行搜索即可,也有热心者提供了中文版. 一.下载 Git 从Git官网下载Git安装包 https://gi ...
随机推荐
- SRM13 T3 花六游鸟小(结论题)
哇这题是真的喵,HR智商太高辣 这题的难点就是看了题解之后怎么证明题解里的结论... 结论①:深度大于logm的点肯定能达到最大值 证明:显然一个西瓜的属性里0数量一半1数量一半我们取到的1数量最少, ...
- Naming Company CodeForces - 794C
Oleg the client and Igor the analyst are good friends. However, sometimes they argue over little thi ...
- ZOJ 2532 Internship 求隔边
Internship Time Limit: 5 Seconds Memory Limit: 32768 KB CIA headquarter collects data from acro ...
- linux查看文件相关指令
以下内容整理自以下两篇文章: http://www.cnblogs.com/xilifeng/archive/2012/10/13/2722596.html Linux 查看文件内容的命令 http: ...
- MongoDB入门(8)- c#通过操作MongoDB GridFS实现文件的数据库存储
GridFS介绍 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. GridFS GridFS长啥样 /* 1 */ { "_id" : ObjectId(& ...
- [洛谷P2852] [USACO06DEC]牛奶模式Milk Patterns
洛谷题目链接:[USACO06DEC]牛奶模式Milk Patterns 题目描述 Farmer John has noticed that the quality of milk given by ...
- html 制作静态页面新知识
1.在区块线边框添加一条水平线 例如:<div style:"height :300px;width:800px;border-bottom: solid 1px orange ;& ...
- truncate与delete以及drop
truncate:删除整个表,但不删除定义(删除了整个表的数据,但表结构还在) drop:删除整个表,表数据和表结构都删除了 delete:删除表中数据 比较delete和drop 1.truncat ...
- 嵌入式Nosql数据库——LiteDB
LiteDB是一个开源的 .NET 开发的小型快速轻量级的 NoSQL 嵌入式数据库,特性: 无服务器的 NoSQL 文档存储,数据存储在单一文件中类似 MongoDb 的简单 API100% C# ...
- DotNETCore 学习笔记 WebApi
API Description Request body Response body GET /api/todo Get all to-do items None Array of to-do ite ...