[置顶] 上传本地代码到github上

ubuntu环境
首先确定是否安装了Git管理工具

  sudo apt-get install git

我选择SSH方式,比较安全方便,只需一次配置
1- 使用ssh命令连接github.com的SSH服务,登录名为git@github.com(所有GitHub用户共享此SSH用户名)。

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ ssh -T git@github.com
The authenticity of host 'github.com (192.30.253.113)' can't be established.
 ...
Permission denied (publickey).

第一次连接,会报权限被拒绝的提示,因为在本机还没有完成SSH认证,我们需要得到一个KEY密钥去完成认证.

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ ssh-keygen -C "xxxxxxxxx@qq.com" -f ~/.ssh/github
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/wangxiong/.ssh/github.
Your public key has been saved in /home/wangxiong/.ssh/github.pub.
The key fingerprint is:
 ...

一条命令生成密钥.

查看密钥用cat命令或者gedit命令文本方式打开

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ gedit /home/wangxiong/.ssh/github.pub

那么Github上需要做什么呢?
个人设置

添加或者删除KEY

新增

在上面Title自定义,而Key是刚刚自动创建的github.pub里面的内容,是一段很长的内容,全部复制到上图的”Key”栏目里.

ubuntu下测试一下

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access.

^ V ^ 提示授权成功了,接下来可以用SSH通道进行项目push和pull!


Step one:建立git仓库
cd到你的本地项目根目录下,执行git命令,此命令会在当前目录下创建一个.git文件夹。

 wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git init
Reinitialized existing Git repository in /home/wangxiong/Public/GitHubRepository/PaPaPlayer/.git/

Step two:将项目的所有文件添加到仓库中

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git add .

Step three:提交

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git commit -m "第一次提交"
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

Step four:去github上创建自己的仓库

创建后

复制SSH的链接
Step five:将本地的仓库关联到github上

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git remote add origin git@github.com:shonegg/PaPaPlayer.git
fatal: remote origin already exists.

Step six:上传代码到github远程仓库

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git push -u origin master
Counting objects: 782, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (676/676), done.
Writing objects: 100% (782/782), 6.88 MiB | 1.42 MiB/s, done.
Total 782 (delta 140), reused 0 (delta 0)
To git@github.com:shonegg/PaPaPlayer.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

OK,切换到github上现在可以看到刚刚提交的文件了!
如果用https方式提交,会要求输入用户名和密码!

每次本地文件有变动(删除或新增),都要先commit提交到本地仓库,然后push到服务端(远程仓库)分支上!

场景1:
我删除了某个文件,然后用add命令提示如下,选择git add –ignore-removal或者git add –all,前者是忽略删除,后者是处理删除这一动作.

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'app/src/main/res/values/bilibili_strings.xml' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
  ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git add --all 

我要达到把本地仓库的对应文件删除掉这一效果,那么就用第二种方式

wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git add --all 
wangxiong@Dell:~/Public/GitHubRepository/PaPaPlayer$ git commit -m "添加README.md"
[master f6d54c5] 添加README.md
 4 files changed, 6 insertions(+), 43 deletions(-)
 create mode 100644 README.md
 create mode 100644 README.md~
 rewrite ScreenShots/Screenshot_2016-07-23-12-21-31.png (95%)
 delete mode 100644 app/src/main/res/values/bilibili_strings.xml

从终端提示,可以看出,提交到本地库后,有4个文件改变了,创建了2个文件README.md和README.md~(临时文件),重写了一个图片文件,删除了一个xml文件


说到这,Github上上传README.md的说明文件时,通常都会展现截图效果图,那这是如何做到的呢?

Github上的README.md文件是使用的Markdown语言编写的

Markdown插入图片的语法是

1:在本地建立ScreenShots效果图的文件夹,将效果图放入
2:提交到github上

3:取图片地址,注意我点击的Download选项,如果有raw选项,点击raw!

raw

拷贝这个链接到md文件,就可以显示图片啦!

我用的Markdown编辑工具,是StackEdit,一个开源免费工具
https://stackedit.io
效果:

Export导出.md:

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
         每次看到iOS的远程消息推送,总是感觉很头大,即便后来项目都做完了,还是觉得摸不着远程推送的脉门,网上介绍的资料虽多,但不是写的太简单了,就是写的太详细了,不能一下抓住要点,今天终于能够抽出点时间,来扒一扒这其中究竟有怎样的奥秘。     根据苹果掌控一切的习惯,消息推送也当然不能例外,不论你在哪里推送,也不论你用什么方式推送,都必须首先把消息发给苹果的消息推送服务器APNs(Apple Push Notification Service),然后再由APNs发给指定的设备,也就是说消息推
Day02 Html、Css实战和WebView实现手机显示网页 1.html与css实战 1.1 程序猿小网页 先来看一下效果图 编程用图如下 实现代码如下 !DOCTYPE htmlhtml head meta charset="utf-8" title/title style #pic{ position: relative; float: left; } #text{ width: 400; height: 200; position: relative; float: left; font-si
前言 或许你知道了jni的简单调用,其实不算什么百度谷歌一大把,虽然这些jni绝大多数情况下都不会让我们安卓工程师来弄,毕竟还是有点难,但是我们还是得打破砂锅知道为什么这样干吧,至少也让我们知道调用流程和数据类型以及处理方法,或许你会有不一样的发现。 其实总的来说从java的角度来看.h文件就是java中的interface(插座),然后.c/.cpp文件呢就是实现类罢了,然后数据类型和java还是有点出入我们还是得了解下(妈蛋,天气真热不适合生存了)。 今天也给出一个JNI动态注册native方法的例子

Android渐变标题栏的实现 - 2016-07-24 14:07:56

Android4.4以上推出了Toolbar,改变程序的style属性就可以给手机的标题栏填充颜色,可以是你设置好的系统的主题色,也可以是自己填充的颜色,其实这个效果在iOS早就有了,但在Android中还是很少见的。在iOS中,最常见的Navigationbar的效果就是一个转场动画(多出现于两个界面切换的时候),一个就是随着手势滑动背景渐变(多出现于详情页)。今天我们就来实现下大多出现于详情页的这个渐变效果的标题栏。 具体效果见: 点击打开链接 接下来我们就来实现这个效果。 首先,我们要先把手机上面的
这一篇,承接地八话。使用高效的方式备份短信——xml序列化器。 存储短信,要以对象的方式存储。首先创建javabean: package com.itydl.createxml.domain;public class Message {private String body;private String date;private String address;private String type;public String getBody() {return body;}public void setB

android独特的天气预报 - 2016-07-24 14:07:50

android独特的天气预报 package com.dchan.myweather;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.security.PublicKey;import java.util.ArrayList;import java.util.Calendar;import java.util.Collection;import java.util.HashMap;impo

cocoapods的安装和使用 总结 - 2016-07-24 14:07:48

一、CocoaPods 是什么? CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。 CocoaPods 背后的理念主要体现在两个方面。首先,在工程中引入第三方代码会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配置会让人很沮丧。在配置buildphases和linker flags过程中,会引起许多人为因
最近有一段时间没写博客了,一方面是工作比较忙,一方面也着实本人水平有限,没有太多能与大家分享的东西,也就是在最近公司要做一个抢红包的功能,老板发话了咋们就开干呗,本人就开始在网上收集资料,经过整理和实践,总算完美实现了功能,这里拿出本人一点微薄的成就与大家分享。 首先界面是这样的 开启自动抢红包只需点击相应的选项即可,下面我们进入正题,实现自动抢红包的原理,其实是借助android下的一个辅助服务AccessibilityService,这个服务是google公司为许多Android使用者因为各种情况导致
在实现该控件之前,先说一下该控件的难度, 一、   每个item中如果有RadioButton之类,可以focus焦点的,点击效果可能会失效   二、无限的滚动   下面是效果图: 实现上图的效果,一共自定义了两个 控件,viewpager+底部导航图标 下面我先来讲解一下,viewpager的实现: 1.初始化 pre name="code" class="java"/** 点击按下的坐标 **/PointF downP = new PointF();/** 当前按下的坐标 **/PointF curP

Android-下拉刷新库 - 2016-07-24 14:07:44

前言 入职接近半个多月,有几天空闲,所以想着能不能自己实现一个库来练练手,因为之前一直想要实现下拉刷新的功能,因此就有了这样一个自制的下拉刷新库——RefreshWidgetLib. 关于下拉刷新 下拉刷新,作为一个几乎每个应用都会出现的一种控件,不言而喻,它对于提高用户体验有着很重要的作用,而且也已经成为了人们习惯的一种操作。说起下拉刷新这种设计,最早的引入者是在2008年上线的Tweetie,Tweetie引入了如今随处可见的“下拉刷新”设计,不仅有多达数百款App Store应用使用这种设计,就连苹