首先,一定要有耐心。看到一大堆的命令行(其实并没有一大堆)不要觉得枯燥,最后当你成功把你的项目上传上去之后那种胜利的成果,还是挺有意思的。本人第一次写博客,勿喷。

我写的是主要的流程,详细内容还请移步廖雪峰老师的官网: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的更多相关文章

  1. Git在windows下上传文件至github流程

    github是开发者分享的一个平台,这里不多说,想要上传文件至github需要有一个开发者账号,还需要在windows下安装好了git. 做好准备工作之后,接下来操作 一:登录github,创建项目 ...

  2. Windows如何上传代码到Github

    1.首先得安装git客户端 进入官网:https://git-scm.com/ ,点击右侧下载windows版本的软件包,然后双击安装就可以了. 安装完成之后,在开始菜单可以看到,此时,在想上传的文件 ...

  3. 直接利用本地git上传项目到github

    http://m.blog.csdn.net/article/details?id=50441442 本文将详细介绍如何托管你的项目到github上   转载请标明出处: http://blog.cs ...

  4. 手把手教你用git和SourceTree上传项目到github细解(转)

    尊重原创:https://blog.csdn.net/qq_32365567/article/details/52859166 一.引言 我想大家现在都很熟悉github了,也能运用github上开源 ...

  5. Android快速实现上传项目到Github

    本文为skylinelin原创,转载请注明出处! 一.简介 现在在网上浏览关于Git的文章,基本上都是使用命令行(Git Bash),命令行效率是很高的,但是有一定的复杂性,现在我们看如何用AS来讲项 ...

  6. Android Studio 快速实现上传项目到Github(详细步骤)

    前言: 本文主要讲解如何将Android Studio项目上传至GitHub,在此之前,先介绍几个概念. Android Studio:是谷歌推出一个Android集成开发工具,基于IntelliJ ...

  7. 使用git上传项目到GitHub上

    之前的博客有<使用git拉取GitHub上的项目>的文章,那么现在说一下,如何上传项目到GitHub上. 1. Git的.gitignore 文档配置 因为项目中可能有很多的图片还有nod ...

  8. 使用idea上传项目到gitHub

    上传项目到gitHub 创建好后开始提交本地项目代码如图: 选中VCS选中图中的按钮如图所示: 然后再选中Src点中add按钮如图所示: 然后点中commit Directory后 打开终端进行项目根 ...

  9. 初次在cmd使用git命令上传项目至github方法(笔记)

    在一切开始之前,先推荐一个git简易工具书--Git_Cheat_Sheet,非常适合新手.自行搜索即可,也有热心者提供了中文版. 一.下载 Git 从Git官网下载Git安装包 https://gi ...

随机推荐

  1. apache出现You don't have permission to access / on this server. 提示

    今天在新的linux上跑原来的代码,使用的虚拟主机的模式进行操作.几个相关的网站放在一个文件里,想法是通过网站列出的目录进行相应的网站进行操作.一切设置完成后,在浏览器中运行出现在You don't ...

  2. 【神仙DP】【UVa11400】Lighting System Design

    传送门 Description Translation 题目大意:有一个照明系统需要用到n种灯,每种灯的电压为V,电源费用K,每个灯泡费用为C,需要该灯的数量为L.注意到,电压相同的灯泡只需要共享一个 ...

  3. 剑桥offer(31~40)

    31.题目描述 统计一个数字在排序数组中出现的次数. 思路:找到最低和最高,相减 class Solution { public: int GetNumberOfK(vector<int> ...

  4. JavaScript是没有域的限制

    baidu的通行证处理都是在二级域名passport.baidu.com中处理的,但是baidu很多地方登录都好像是用ajax处理的,他是怎么做的呢?研究了一下,发现一个小技巧. 在http://zh ...

  5. Spring源码解析-Web容器启动过程

    Web容器启动过程,主要讲解Servlet和Spring容器结合的内容. 流程图如下: Web容器启动的Root Context是有ContextLoaderListener,一般使用spring,都 ...

  6. Codeforces Round #342 (Div. 2) A

    A. Guest From the Past time limit per test 1 second memory limit per test 256 megabytes input standa ...

  7. 洛谷P1667/[10.22 模拟赛] 数列 (思维+模拟)

    洛谷P1667 数列 题目描述 给定一个长度是n的数列A,我们称一个数列是完美的,当且仅当对于其任意连续子序列的和都是正的.现在你有一个操作可以改变数列,选择一个区间[X,Y]满足\(A_X +A_{ ...

  8. *和&的使用

    给变量起一个别名: int a = 2; int &b = a; 取a的地址,实参是一个指针: void chage(int *data) { } void main() { int a = ...

  9. 浅谈移动端三大viewport

    我们通常在写移动端页面时,往往都会在html页面中加入这样一段话 <meta name="viewport" content="width=device-width ...

  10. mysql 事务,锁,与四大隔离级别

    概念 事务 原子性:事务必须是一个自动工作的单元,要么全部执行,要么全部不执行. 一致性:事务结束的时候,所有的内部数据都是正确的. 隔离性:并发多个事务时,各个事务不干涉内部数据,处理的都是另外一个 ...