小黑小波比.github问题总汇

1_在Ubuntu实现git推送

1.首先要配置好config

cd .ssh

vim config

2.内容最后一行添加如下文本

Host github.com
User git
IdentityFile /home/zmzp/.ssh/id_rsa


3.生成密钥

zmzp@zmzp1:~/.ssh$ ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zmzp/.ssh/id_rsa): 
/home/zmzp/.ssh/id_rsa already exists.
Overwrite (y/n)? yes
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zmzp/.ssh/id_rsa.
Your public key has been saved in /home/zmzp/.ssh/id_rsa.pub.
The key fingerprint is:
3b:ce:87:43:9f:4a:dd:b9:02:8f:2c:cb:bd:d1:c4:0c [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|        E        |
|         +       |
|        S +      |
|        o= . .   |
|       o=*o.o    |
|     ..==o*  .   |
|      oo*= ..    |
+-----------------+
zmzp@zmzp1:~/.ssh$ cat id_rea.pub
cat: id_rea.pub: 没有那个文件或目录
zmzp@zmzp1:~/.ssh$ cd .ssh
bash: cd: .ssh: 没有那个文件或目录
zmzp@zmzp1:~/.ssh$ ls
authorized_keys  gitlab_rsa      id_rsa      key_backup
config           gitlab_rsa.pub  id_rsa.pub  known_hosts
zmzp@zmzp1:~/.ssh$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCypUS8VEyPDw/mf4Tq4LN35+XdlFP1RdZT/dXZNSZUknt+ih14UE5cffruKKN3rqDRJ2AYDX4z7uRCoQ7QDG0ry+S7/CF38uDivaR87EPjbYrSl0FIjeK27a6wjJ0zfDtm7WTOt/fU+v0uOR5V83XlZNF3edq3o8nb8N5javuv6oNU3jC/Z7Qsd9/JisoLz5DCf22MYl2DlmnkX6am9DaTkHdHy5eKS+Z8lWMfqmijUooM/MXCtRHuXRmoQQOablmA5PUARsYpN7/E8VndgaZpG6yKUFq+UL0U91eTnQ+xd2SmvcmpO3FEcw9Z/nRjUbU6bYjyygu0/1rLJ1APkGO7 [email protected]

4.复制id_rsa.pub的内容,在github.com选择Settings-选择SSH Keys-ssh keys下

title:随便填

key:(粘贴id_rsa.pub的内容)


5.连接github代码库,并解决Permission denied (publickey).问题

zmzp@zmzp1:~/data/lyb_project$ git remote remove origin 
zmzp@zmzp1:~/data/lyb_project$ git remote show
zmzp@zmzp1:~/data/lyb_project$ git remote add origin [email protected]:bobo159357456/bobo.git
zmzp@zmzp1:~/data/lyb_project$ git remote show origin
* 远程 origin
  获取地址:[email protected]:bobo159357456/bobo.git
  推送地址:[email protected]:bobo159357456/bobo.git
  HEAD分支:(unknown)
zmzp@zmzp1:~/data/lyb_project$ git pull origin master
fatal: Couldn't find remote ref master
zmzp@zmzp1:~/data/lyb_project$ git pull -u origin master
^C
zmzp@zmzp1:~/data/lyb_project$ git push -u origin master
Counting objects: 182, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (136/136), done.
Writing objects: 100% (182/182), 185.88 KiB | 0 bytes/s, done.
Total 182 (delta 30), reused 0 (delta 0)
To [email protected]:bobo159357456/bobo.git
 * [new branch]      master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
zmzp@zmzp1:~/data/lyb_project$



2_git解决问题


注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的目的,我最喜欢的倒是它的代码展示方式,可以直接浏览你的代码,代码是经过高亮、添加行号处理过的,十分漂亮,体验一流,比如这个Webpy托管的地方。而作为想要了解你代码的人,可以选择直接在线浏览自己感兴趣的,也可以直接下载压缩包,或者直接使用Git clone到本地。
因为GitHub是基于Git版本控制系统,所以你上传修改代码什么的,都需要使用Git工具。我这里主要是用来分享和展示代码,所以不想在版本控制方面做过多的阐述,下面就简单讲解一下怎么在GitHub上新建一个项目,还有把自己的代码传上去。下面的前提是你已经注册了GitHub和下载安装了Git——Git下载、Windows版本下载。
上传分享代码
1.在GitHub上建立项目
登录GitHub后,你可以在右边靠中那里找到一个按钮“New Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似[email protected]:XXX/XXX.git的地址,这个就是你这个项目的地址了。
2.配置Git以及上传代码
安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git:
1 git config --global user.name "Your Real Name" 2 git config --global user.email [email protected]

然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:
1 ssh-keygen -C '[email protected]' -t rsa

然后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub,用文本编辑器打开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。
完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库:
1 git init

选择要添加进仓库的文件:
1 git add .

一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:
1 git commit -m 'Test'

-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。
搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题:
1 2 git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master

这个[email protected]:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。
如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。
一些可能遇到的问题解决:
如果输入$ git remote add origin [email protected]:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin [email protected]:djqiang/gitdemo.git 就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
如果输入$ ssh -T [email protected]
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to …….
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
4、则需要重新输入$ git remote add [email protected]:djqiang/gitdemo.git
使用git在本地创建一个项目的过程
$ makdir ~/hello-world    //创建一个项目hello-world
$ cd ~/hello-world       //打开这个项目
$ git init             //初始化
$ touch README
$ git add README        //更新README文件
$ git commit -m ‘first commit’     //提交更新,并注释信息“first commit”
$ git remote add origin [email protected]:defnngj/hello-world.git     //连接远程github项目
$ git push -u origin master     //将本地项目更新到github项目上去

3_创建多个公钥和私钥添加多个代码库

1_创建公钥私钥

1.键入命令:ssh-keygen -t rsa -C "[email protected]"

2.当提示"Enter file in which to save the key (/home/zmzp/.ssh/id_rsa)"时

:/home/zmzp/.ssh/coding_rsa 回车

3.一路回车即可生成公钥密钥

2_配置config

1.修改配置文件
输入:vi config
内容:

Host coding.net

User git

IdentityFile /home/zmzp/.ssh/codingid_rsa

3_链接推送地址

1.修改链接推送地址

zmzp@zmzp1:~/data/lyb_project$ git remote add origin [email protected]:bobo159357456/bobo.git
fatal: 远程 origin 已经存在。
zmzp@zmzp1:~/data/lyb_project$ git remote remove origin
zmzp@zmzp1:~/data/lyb_project$ git remote show
zmzp@zmzp1:~/data/lyb_project$ git remote show origin
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
zmzp@zmzp1:~/data/lyb_project$ git remote add origin [email protected]:bobo159357456/bobo.git
zmzp@zmzp1:~/data/lyb_project$ git remote show
origin
zmzp@zmzp1:~/data/lyb_project$ git remote show origin
* 远程 origin
  获取地址:[email protected]:bobo159357456/bobo.git
  推送地址:[email protected]:bobo159357456/bobo.git
  HEAD分支:master
  远程分支:
    master 新的(下一次获取将存储于 remotes/origin)
  为 'git push' 配置的本地引用:
    master 推送至 master (本地已过时)

成功!


4_解决git pull遇到的问题

1_git代码仓库不同步

1.更新代码库

输入 git pull 
出现:
error: Your local changes to the following files would be overwritten by merge:
app/calendar/note.js
app/schedule/scheduleview.js
Please, commit your changes or stash them before you can merge.

2.解决方案

执行git checkout -f,然后再执行git pull重新checkout
再执行git pull即可

5_撤销未跟踪文件

1_问题现象

因为有积存的代码,长时间忘了处理.
小黑小波比.github问题总汇_第1张图片

2_问题解决方案

git clean -dxf
小黑小波比.github问题总汇_第2张图片

你可能感兴趣的:(github,小黑小波比)