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. 反射——类(Class)

    本文原创,转载请注明原处! 红色代表的是基本组件:包(Package),修饰符(modifier),类(Class),字段(Field),构造器(Constructor)和方法(Method). 黄色 ...

  2. FairScheduler的任务调度机制——assignTasks(续)

    上一篇文章浅析了FairScheduler的assignTasks()方法,介绍了FairScheduler任务调度的原理.略过了最后一步通过JobScheduler获取Task时调用JobInPro ...

  3. MongoDB 复制集 (三) 内部数据同步

    一 数据同步        一个健康的secondary在运行时,会选择一个离自己最近的,数据比自己新的节点进行数据同步.选定节点后,它会从这个节点拉取oplog同步日志,具体流程是这样的:      ...

  4. 在LAMP环境下搭建JSP动态网页

    开发环境Linux的版本号Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x ...

  5. POJ 1182 (经典食物链 /并查集扩展)

    (參考他人资料) 向量偏移--由"食物链"引发的总结 http://poj.org/problem?id=1182这道食物链题目是并查集的变型.非常久曾经做的一次是水过的,这次 ...

  6. java 集合排序(转)

    Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...

  7. 标准库function类型的使用

    14.44编写一个简单的桌面计算器使其能处理二元运算. #include<iostream> #include<map> #include<functional> ...

  8. CentOS6.5一键安装MySQL5.5.32(源码编译)

    ###################################################mysql_install.sh                                 ...

  9. 基于 CoreText 实现的高性能 UITableView

    引起UITableView卡顿比较常见的原因有cell的层级过多.cell中有触发离屏渲染的代码(譬如:cornerRadius.maskToBounds 同时使用).像素是否对齐.是否使用UITab ...

  10. atlassian-jira-confluence-bitbucket破解

    ==================================================================================================== ...