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的更多相关文章

  1. [转]Ubuntu下GitHub的使用

    转自Pythoner 本文将对Ubuntu下Git的安装,以及如何连接GitHub进行讲解. 1.环境 OS: Ubuntu13.04 64bitsGit: 1.8.1.2 2.Git安装 执行如下命 ...

  2. Ubuntu+Hexo+Github搭建个人博客

    Ubuntu+Hexo+Github搭建个人博客 目录 目录 目录 1. 简介 环境 2. Git安装及配置 2.1 安装Git 2.2 创建Git仓库 2.3 配置git仓库 2.4 添加公钥 3. ...

  3. ubuntu 下 github 使用方法 以及异常修改

    接触github很长时间了,github有windows 跟 mac 版本,恶心的是现在在linux 下没有可视化界面的版本.所以对于很多没有怎么接触过github的人带来很大困难.话不多说,彪重点: ...

  4. ubuntu 设置github秘钥

    github的SSH配置如下: 一 . 设置Git的user name和email: $ git config --global user.name "AmyOrz" $ git ...

  5. Ubuntu下github pages+hexo搭建自己的博客

    hexo 是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github上.Hexo简单优雅, 而且风格多变, 适合搭建个人博客,而且支持多平台的搭建. 平台 Ubuntu14.04 ...

  6. ubuntu在github上传项目

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. 作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户.随着越来 ...

  7. git常用指令

    <a>github的提交方式      git status     (1)git add .--------------------存储到本地       git add -u      ...

  8. docker learning

    Docker 配置文件位置 Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致 在 ubuntu 中的位置是:/etc/default/docker 在 cento ...

  9. 需要熟记的git命令

    需要熟记的github常用命令 总结一下ubuntu下github常用的命令,设置部分跳过,假设repository的名字叫hello-world: .创建一个新的repository: 先在gith ...

随机推荐

  1. hdoj 1068 Girls and Boys【匈牙利算法+最大独立集】

    Girls and Boys Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. 使用GruntJS链接与压缩多个JavaScript文件

    使用GruntJS链接与压缩多个JavaScript文件 自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想 ...

  3. UVA 10557 XYZZY

    Problem D: XYZZY ADVENT: /ad�vent/, n. The prototypical computer adventure game, first designed by W ...

  4. 介绍几种大型的Oracle/SQL Server数据库免费版

    我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...

  5. 【转】[Android编程心得] Camera(OpenCV)自动对焦和触摸对焦的实现

    参考http://stackoverflow.com/questions/18460647/android-setfocusarea-and-auto-focus http://blog.csdn.n ...

  6. C# 动态创建出来的窗体间的通讯 delegate1

    附件 http://files.cnblogs.com/xe2011/CSharp_WindowsForms_delegate01.rar 需要每个窗体是独立存在,禁止相与引用窗体 这样干净并且可以反 ...

  7. C语言中volatilekeyword的作用

    一.前言 1.编译器优化介绍: 由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问.另外在现代CPU中指令的运行并不一定严格依照顺序运行,没 ...

  8. Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解

    一.概念简介: Redis: Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis, ...

  9. iOS CoreData (1)

    下面开始学习一下CoreData. Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS). Core Data 为数据变更管理.对象存储.对象读取恢复的功能提供了支持. 它 ...

  10. 使用API在DigitalOcean上创建VPS

    1.生成Personal Access Token(API-Token) 密钥类似如下格式: 81d58e36224b63fc2gedac14342d0cfb16vf5451c798b2a38f976 ...