好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化。

  1、在ubuntu中安装git

$ sudo apt-get install git git-core

  2、配置本机的git

$ git config --global user.name "abcd"
$ git config --global user.email abcd@efgh.com

  3、生成密钥

$ ssh-keygen -t rsa -C "abcd@efgh.com" //邮箱同上

  4、提交密钥

vim /home/linx/.ssh/id_rsa.pub //复制里面的密钥

  到github网页中登陆自己的账号,然后再account setting中,找到SSH KEY讲复制的密钥加入(需要再次输入github的密码)

  5、检验是否链接上了github

$ ssh git@github.com
//正常情况下,回显如下
PTY allocation request failed on channel 0
Hi plinx! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

  6、首次推送

$ mkdir tmp      //创建推送目录
$ cd tmp //进入推送目录
$ git init //设置该目录为推送
$ touch README //生成readme
$ git add README //加入修改列表
$ git commit -m 'first commit' //递交修改声明
$ git remote add origin git@github.com:abcd/tmp.git //为远程Git更名为origin
$ git push -u origin master //推送此次修改

  然后各种问题从这里开始了,以下谈一下解决的方法:

  问题一:

ERROR: Repository not found.

  这个问题是因为在你推送的github账户中,并没有这个Repository。

  解决方法:

  1)检查自己的github中的Repository,检查自己创建的目录,必须要两者一致;

  2)先git clone下github中的Repository,然后再进行更改,这样就一定一致了。

  问题二:

Agent admitted failure to sign using the key.
Permission denied (publickey)

  这个问题是因为你的ssh key并没有加入到你想git的github账户的ssh key中,所以没有访问权限。

  解决方法:

  1)重新拷贝一份当前的~/.ssh/id_rsa.pub中的ssh key到github中添加;

  2)先删除~/.ssh/in_rsa*文件,然后重新ssh-keygen一份sshkey来生成密钥,然后复制到github,接着ssh链接github来检验是否成功联通。

  问题三:

//出现如下提示
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ...

  这个问题是因为,github中已经有了这个代码,不允许你覆盖它。

  解决方法:

  1)强制推送,一般不推荐!

$ git push -f

  2)

$ git pull

  然后将出现其他提示,具体意思是说branch与merge未指定,git无法选择要推送的分支。

  可以通过修改 .git/config文件中的下列内容

[branch "master"]
remote = origin
merge = refs/heads/master

  也可以直接命令行修改

$ git config branch.master.remote origin
$ git config branch.master.merge ref/heads/master

  目前了解到的也就这三个问题了。

  之后就可以成功得推送了。

转载:http://www.cnblogs.com/plinx/archive/2013/04/08/3009159.html

[root@localhost Jessica]# mkdir tmp
[root@localhost Jessica]# cd tmp
[root@localhost tmp]# git init
Initialized empty Git repository in /root/Jessica/Jessica/tmp/.git/
[root@localhost tmp]# touch README
[root@localhost tmp]# git add README
[root@localhost tmp]# vim README
[root@localhost tmp]# vim myfile.txt
[root@localhost tmp]# git add .
[root@localhost tmp]# git commit -m 'first commit'
[master (root-commit) 4fc0345] first commit
files changed, insertions(+), deletions(-)
create mode README
create mode myfile.txt
[root@localhost tmp]# git remote add origin git@github.com:Jessicahust/tmp.git
[root@localhost tmp]# git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
[root@localhost tmp]# git push -u origin master
To git@github.com:Jessicahust/tmp.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:Jessicahust/tmp.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
[root@localhost tmp]# git push -f
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), bytes, done.
Total (delta ), reused (delta )
To git@github.com:Jessicahust/tmp.git
+ ae65e0f...4fc0345 master -> master (forced update)
[root@localhost tmp]# git clone https://github.com/Jessicahust/tmp.git
Initialized empty Git repository in /root/Jessica/Jessica/tmp/tmp/.git/
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta )
Unpacking objects: % (/), done.
[root@localhost tmp]# cd tmp/
[root@localhost tmp]# ll
总用量
-rw-r--r--. root root 12月 : myfile.txt
-rw-r--r--. root root 12月 : README
[root@localhost tmp]# vim myfile.txt
[root@localhost tmp]# git push -u origin master
error: The requested URL returned error: Forbidden while accessing https://github.com/Jessicahust/tmp.git/info/refs fatal: HTTP request failed
[root@localhost tmp]# git remote rm origin
[root@localhost tmp]# git push -u origin master
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
[root@localhost tmp]# git push -u origin master
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
[root@localhost tmp]# git commit -m 'second commit'
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: myfile.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
[root@localhost tmp]# git remote add origin git@github.com:Jessicahust/tmp.git
[root@localhost tmp]# git push -u origin master
Branch master set up to track remote branch master from origin.
Everything up-to-date
[root@localhost tmp]# vim myfile.txt
[root@localhost tmp]# git add .
[root@localhost tmp]# git commit -m 'second commit'
[master 68d8831] second commit
files changed, insertions(+), deletions(-)
[root@localhost tmp]# git push -u origin master
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), bytes, done.
Total (delta ), reused (delta )
To git@github.com:Jessicahust/tmp.git
4fc0345..68d8831 master -> master
Branch master set up to track remote branch master from origin.

将自己的githubpull下来修改了传送

[root@localhost vimide]# git clone https://github.com/Jessicahust/vimide.git
Initialized empty Git repository in /root/vimide/vimide/vimide/.git/
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta ), pack-reused
Unpacking objects: % (/), done.
[root@localhost vimide]# git add bundle
[root@localhost vimide]# git commit -m 'first commit'
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# vimide/
nothing added to commit but untracked files present (use "git add" to track)
[root@localhost vimide]# git init
Reinitialized existing Git repository in /root/vimide/vimide/.git/
[root@localhost vimide]# git add README
[root@localhost vimide]# git add bundle
[root@localhost vimide]# git add .\
> ^C
[root@localhost vimide]# git add .
[root@localhost vimide]# git commit -m 'second commit'
[master 427c834] second commit
files changed, insertions(+), deletions(-)
create mode vimide
[root@localhost vimide]# git remote add origin git@github.com:Jessicahust/vimide.git
fatal: remote origin already exists.
[root@localhost vimide]# git remote rm origin
[root@localhost vimide]# git remote add origin git@github.com:Jessicahust/vimide.git
[root@localhost vimide]# git push -u origin master
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), bytes, done.
Total (delta ), reused (delta )
To git@github.com:Jessicahust/vimide.git
70d526e..427c834 master -> master
Branch master set up to track remote branch master from origin.

Git链接到自己的Github(1)简单的开始的更多相关文章

  1. SVN和git的使用(附github的简单玩法)

    今天简单的总结了下SVN和git的使用,也尝试了下github,应该好好提高下自己的英文水平了,梦想有一天不再使用任何翻译软件. [svn]:集中式的代码管理工具(版本控制工具--版本记录) 1> ...

  2. Git链接到自己的Github(2)进阶使用

    接着上一篇的,从github clone下代码. 1.先查看当前开发分支 $ cat .git/HEAD ref: refs/heads/master 这里的master是默认分支. 2.查看当前状态 ...

  3. git链接到远程github上

    Git链接到自己的Github(1)简单的开始 好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化. 1.在ubuntu ...

  4. git 与 github 最简单的用法

    今天发现cygwin里已经装了git,所以顺便测试一下git是怎么用的. 大概最简单的用法是这样的: 1.在github创建一个repository.复制右边那个 HTTPS clone URL 2. ...

  5. Git学习:如何登陆以及创建本地代码仓库、并提交本地代码至Github(最简单方法)

    在我们的实际开发当中,代码经常会被公司要求上传到网络上,能够大家共同完成一个项目,因此掌握git技能也是一项必不可少的技能了,这里我们来学习以下基本的git操作.首先我们要想使用git这个东西需要把它 ...

  6. 新机git及github sshkey简单配置

    新机git简单配置,毕竟不常用,不用每次都查1.安装gitwindows:https://git-scm.com/download/winubuntu: apt install git 2.全局配置 ...

  7. git与github的简单使用教程

    git与github的简单使用教程 一.创建仓库 点击new,进入创建仓库页面 对将要创建的仓库进行一些简单的设置 最后再点击create repository就可以了. 到这我们就创建好了一个仓库. ...

  8. git链接GitHub命令及基本操作

    Git是一款不错的代码管理工具,下面引用百科的一段话:  Git是用于Linux内核开发的版本控制工具.与CVS.Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服 ...

  9. Git 的深入理解与GitHub托管服务(转)

    源代码管理系统(SCM)与版本控制   版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.   本地版本控制系统   许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会 ...

随机推荐

  1. 移植mysql到嵌入式ARM平台

    移植MySQL到嵌入式ARM平台  MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.p ...

  2. Erlang入门(五)——补遗

    暂时搞不到<Programming Erlang>,最近就一直在看Erlang自带的例子和Reference Manual.基础语法方面有一些过去遗漏或者没有注意的,断断续续仅记于此. 1 ...

  3. SharePoint默认的欢迎WebPart中超链接样式

    转:http://www.cnblogs.com/Bear-Study-Hard/archive/2010/03/22/1691641.html 在core.css文件中 .ms-SpLinkButt ...

  4. java jvm学习笔记五(实践自己写的类装载器)

     欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和 ...

  5. HGE初始化状态设置

    HGE_FRAMEFUNC:     最重要的设置,每个HGE应用必须设置.游戏的主循环就是他了.类型为bool*(),返回真那么主循环退出,游戏也就结束了.否则进行必要的处理后返回假.必须在调用进入 ...

  6. 设计模式_State_状态模式

    形象例子: 跟MM交往时,一定要注意她的状态哦,在不同的状态时她的行为会有不同,比如你约她今天晚上去看电影,对你没兴趣的MM就会说“有事情啦”,对你不讨厌但还没喜欢上的MM就会说“好啊,不过可以带上我 ...

  7. 在Windows操作系统中,如何终止占有的8080端口的tomcat进程

    在Windows操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 本文将通过命令来强行终止这个已经运行的tomca ...

  8. HDU2296——Ring(AC自动机+DP)

    题意:输入N代表字符串长度,输入M代表喜欢的词语的个数,接下来是M个词语,然后是M个词语每个的价值.求字符串的最大价值.每个单词的价值就是单价*出现次数.单词可以重叠.如果不止一个答案,选择字典序最小 ...

  9. 万台规模下的SDN控制器集群部署实践

    目前在网络世界里,云计算.虚拟化.SDN.NFV这些话题都非常热.今天借这个机会我跟大家一起来一场SDN的深度之旅,从概念一直到实践一直到一些具体的技术. 本次分享分为三个主要部分: SDN & ...

  10. stm32f10x.h文件分析理解

    今天再看过半年前自己写的这篇发现自己当时理解有误,stm32f10x.h与库开发并未存在太大关系,只是一个最为重要的寄存器地址到寄存器结构体变量的映射. stm32f10x.h 这个头文件是STM32 ...