ubuntu使用github
Ubuntu下安装Git
Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装。
如果没有安装,使用命令: sudo apt-get install git git-core 安装git
ssh认证
官网教程: https://help.github.com/articles/generating-ssh-keys/
创建公钥 ssh key
carloz@linux:~/Downloads/usr/bin$ ls -al ~/.ssh
total 16
drwx------ 2 carloz carloz 4096 10月 29 17:06 .
drwxr-xr-x 42 carloz carloz 4096 10月 29 16:39 ..
-rw------- 1 carloz carloz 1679 10月 29 16:44 github
-rw-r--r-- 1 carloz carloz 403 10月 29 16:44 github.pub
carloz@linux:~/Downloads/usr/bin$ ssh-keygen -t rsa -b 4096 -C "xiaoqing_work@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/carloz/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): xiaoqing
Enter same passphrase again:
Your identification has been saved in /home/carloz/.ssh/id_rsa.
Your public key has been saved in /home/carloz/.ssh/id_rsa.pub.
The key fingerprint is:
66:b5:f4:85:37:4c:c1:7e:bf:d3:bd:c1:7a:d7:2d:f5 xiaoqing_work@163.com
The key's randomart image is:
+--[ RSA 4096]----+
| .o. |
| +. |
| o ..= |
| o o o...|
| S . . ..|
| o . o|
| +B|
| o+E|
| ..o+|
+-----------------+
carloz@linux:~/Downloads/usr/bin$
复制公钥
carloz@linux:~/Downloads/usr/bin$ ls -al ~/.ssh
total 24
drwx------ 2 carloz carloz 4096 10月 29 17:12 .
drwxr-xr-x 42 carloz carloz 4096 10月 29 16:39 ..
-rw------- 1 carloz carloz 1679 10月 29 16:44 github
-rw-r--r-- 1 carloz carloz 403 10月 29 16:44 github.pub
-rw------- 1 carloz carloz 3326 10月 29 17:12 id_rsa
-rw-r--r-- 1 carloz carloz 747 10月 29 17:12 id_rsa.pub
carloz@linux:~/Downloads/usr/bin$ vi ~/.ssh/id_rsa.pub
carloz@linux:~/Downloads/usr/bin$ eval "$(ssh-agent -s)"
Agent pid 8644
carloz@linux:~/Downloads/usr/bin$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/carloz/.ssh/id_rsa: xiaoqing
Identity added: /home/carloz/.ssh/id_rsa (/home/carloz/.ssh/id_rsa) carloz@linux:~/Downloads/usr/bin$ sudo apt-get install xclip
carloz@linux:~/Downloads/usr/bin$ xclip -sel clip < ~/.ssh/id_rsa.pub
添加key到github


连接 github
carloz@linux:~/Downloads/usr/bin$ rm ~/.ssh/git*
carloz@linux:~/Downloads/usr/bin$ ls -al ~/.ssh
total 16
drwx------ 2 carloz carloz 4096 10月 29 17:23 .
drwxr-xr-x 42 carloz carloz 4096 10月 29 16:39 ..
-rw------- 1 carloz carloz 3326 10月 29 17:12 id_rsa
-rw-r--r-- 1 carloz carloz 747 10月 29 17:12 id_rsa.pub
carloz@linux:~/Downloads/usr/bin$ ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
Hi carlo-z! You've successfully authenticated, but GitHub does not provide shell access.
carloz@linux:~/Downloads/usr/bin$
提交代码至GitHub
cd carloz-lib-web/
carloz@linux:~/Python/carloz/carloz-lib-web$ git config --global user.name "carlo-z" carloz@linux:~/Python/carloz/carloz-lib-web$ git config --global user.email xiaoqing_work@163.com git init
git add .
git commit -m "add new files"
git remote add origin git@github.com:carlo-z/carloz-lib-web.git
git push -u origin master
carloz@linux:~/Python/carloz/carloz-lib-web$ git push origin master
To git@github.com:carlo-z/carloz-lib-web.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:carlo-z/carloz-lib-web.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
carloz@linux:~/Python/carloz/carloz-lib-web$ git fetch
warning: no common commits
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:carlo-z/carloz-lib-web
* [new branch] master -> origin/master
carloz@linux:~/Python/carloz/carloz-lib-web$
! [rejected] master -> master (non-fast-forward)
问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:
1,强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
git push -f
carloz@linux:~/Python/carloz/carloz-lib-web$ git push -f origin master
Counting objects: 663, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (636/636), done.
Writing objects: 100% (662/662), 3.00 MiB | 23.00 KiB/s, done.
Total 662 (delta 13), reused 0 (delta 0)
To git@github.com:carlo-z/carloz-lib-web.git
+ 04e543c...e29d7a9 master -> master (forced update)
2,先把git的东西fetch到你本地然后merge后再push
ubuntu使用github的更多相关文章
- [转]Ubuntu下GitHub的使用
转自Pythoner 本文将对Ubuntu下Git的安装,以及如何连接GitHub进行讲解. 1.环境 OS: Ubuntu13.04 64bitsGit: 1.8.1.2 2.Git安装 执行如下命 ...
- Ubuntu+Hexo+Github搭建个人博客
Ubuntu+Hexo+Github搭建个人博客 目录 目录 目录 1. 简介 环境 2. Git安装及配置 2.1 安装Git 2.2 创建Git仓库 2.3 配置git仓库 2.4 添加公钥 3. ...
- ubuntu 下 github 使用方法 以及异常修改
接触github很长时间了,github有windows 跟 mac 版本,恶心的是现在在linux 下没有可视化界面的版本.所以对于很多没有怎么接触过github的人带来很大困难.话不多说,彪重点: ...
- ubuntu 设置github秘钥
github的SSH配置如下: 一 . 设置Git的user name和email: $ git config --global user.name "AmyOrz" $ git ...
- Ubuntu下github pages+hexo搭建自己的博客
hexo 是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github上.Hexo简单优雅, 而且风格多变, 适合搭建个人博客,而且支持多平台的搭建. 平台 Ubuntu14.04 ...
- ubuntu在github上传项目
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. 作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户.随着越来 ...
- git常用指令
<a>github的提交方式 git status (1)git add .--------------------存储到本地 git add -u ...
- docker learning
Docker 配置文件位置 Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致 在 ubuntu 中的位置是:/etc/default/docker 在 cento ...
- 需要熟记的git命令
需要熟记的github常用命令 总结一下ubuntu下github常用的命令,设置部分跳过,假设repository的名字叫hello-world: .创建一个新的repository: 先在gith ...
随机推荐
- c#+ArcEngine中的IGroupLayer的用法
转自羊子雄起原文c#+ArcEngine中的IGroupLayer的用法 在AE开发中,我们知道axMapControl.LayerCount能获取图层的数量,但是这种方法不能获取到图层组里面的图层, ...
- Mysql分表和分区的区别
一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘 ...
- 是否以某字符串结尾 是否以某字符串开始 是否是整数 裁减字符串空格 是否是浮点数 是否所有字符为数字类型 是否为空 是否是EMAIL 是否是电话号码 身份证号码验证-支持新的带x身份证 日期验证
/* 1.是否以某字符串结尾 endsWith(theStr,endStr) @param theStr:要判断的字符串 @param endStr:以此字符串结尾 @return boolean; ...
- EasyUI-在行内进行表格的增删改操作
第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和c ...
- Linux进程管理—信号、定时器
信号: 1. 信号的作用: 背景: 进程之间通信比较麻烦. 但进程之间又必须通信,比如父子进程之间. 作用: 通知其他进程响应.进程之间的一种通信机制. 信号: 接受信号的进程马上停止,调 ...
- UIwebView实现html的离线缓存
1.html的缓存主要採取ASIHTTPRequest的缓存策略 (1).设置缓存策略 //设置缓存 ASIDownloadCache *cache=[[ASIDownloadCache alloc] ...
- 苹果电脑出现 .DS_Store文件,删除不掉怎么处理?
今天早上打开电脑,发现桌面上出现一个.DS_Store文件.可是出现的莫名其妙,也就没在意,可是重复删除之后还是出现.后来查了一下网上的资料,才知道,昨天我加入git的时候,为了看见 .git这个隐藏 ...
- Windows环境下tomcat配置日志输出
在Linux系统中,可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,catalina日志与Linux记录的内容有很大区别,大多信息 ...
- hdu4504java
import java.util.*; class Main{ public static void main(String[] args) { Scanner cin=new Scanner( ...
- Java基础知识强化之集合框架笔记54:Map集合之HashMap集合(HashMap<String,String>)的案例
1. HashMap集合 HashMap集合(HashMap<String,String>)的案例 2. 代码示例: package cn.itcast_02; import java.u ...