Git链接到自己的Github(1)简单的开始

简介: 好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化。     1、在ubuntu中安装git $ sudo apt-get install git git-core   2、配置本机的git $ git config --global user.

好长时间没上来弄东西了,今天回来先开始弄下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
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 README
 create mode 100644 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: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 269 bytes, done.
Total 4 (delta 0), reused 0 (delta 0)
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: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 4 (delta 0), reused 4 (delta 0)
Unpacking objects: 100% (4/4), done.
[root@localhost tmp]# cd tmp/
[root@localhost tmp]# ll
总用量 4
-rw-r--r--. 1 root root 12 12月 19 17:38 myfile.txt
-rw-r--r--. 1 root root  0 12月 19 17:38 README
[root@localhost tmp]# vim myfile.txt 
[root@localhost tmp]# git push -u origin master
error: The requested URL returned error: 403 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
 1 files changed, 1 insertions(+), 1 deletions(-)
[root@localhost tmp]# git push -u origin master
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 295 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
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: 9, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 9 (delta 1), reused 6 (delta 1), pack-reused 0
Unpacking objects: 100% (9/9), 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
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 160000 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: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 264 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
To git@github.com:Jessicahust/vimide.git
   70d526e..427c834  master -> master
Branch master set up to track remote branch master from origin.

 

相关文章
|
4月前
|
安全 网络安全 开发工具
百度搜索:蓝易云【git无法使用git协议clone github仓库问题解决方法】
通过尝试以上解决方法,你应该能够解决无法使用Git协议克隆GitHub仓库的问题。选择适合你网络环境和要求的方法,并根据需要进行相应的配置。
185 2
|
2月前
|
人工智能 运维 Linux
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
86 0
|
21天前
|
Shell 网络安全 开发工具
【Github】SourceTree远端链接Github
【Github】SourceTree远端链接Github
|
21天前
|
Shell 开发工具 git
【Github】git bash将本地工程上传至github
【Github】git bash将本地工程上传至github
|
1月前
|
缓存 开发工具 数据安全/隐私保护
通过一篇文章带你玩转git和GitHub
在现代软件开发中,版本控制系统是不可或缺的工具。Git和Github是其中最受欢迎的组合。Git是一个开源的分布式版本控制系统,用于追踪代码的改动,而Github则是一个基于Git的代码托管平台,提供了代码托管、协作开发等功能。
81 2
通过一篇文章带你玩转git和GitHub
|
1月前
|
Linux 开发工具 git
Git与GitHub:解锁版本控制的魔法盒子
Git与GitHub:解锁版本控制的魔法盒子
30 1
|
2月前
|
Linux 开发工具 git
【开发专题_03】unable to access ‘https://github.com/deviantony/docker-elk.git/‘: Failed connect to github
【开发专题_03】unable to access ‘https://github.com/deviantony/docker-elk.git/‘: Failed connect to github
|
2月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
130 0
|
3月前
|
网络安全 开发工具 git
Git在windows下上传文件至github流程
Git在windows下上传文件至github流程
22 0
|
4月前
|
编译器 定位技术 开发工具
分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法
分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法

热门文章

最新文章