小黑小波比.github问题总汇

来源:互联网 发布:php curl 传图片 编辑:程序博客网 时间:2024/06/05 16:01

1_在Ubuntu实现git推送

1.首先要配置好config

cd .ssh

vim config

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

Host github.comUser gitIdentityFile /home/zmzp/.ssh/id_rsa


3.生成密钥

zmzp@zmzp1:~/.ssh$ ssh-keygen -t rsa -C "41377284@qq.com"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)? yesEnter 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 41377284@qq.comThe key's randomart image is:+--[ RSA 2048]----+|                 ||                 ||        E        ||         +       ||        S +      ||        o= . .   ||       o=*o.o    ||     ..==o*  .   ||      oo*= ..    |+-----------------+zmzp@zmzp1:~/.ssh$ cat id_rea.pubcat: id_rea.pub: 没有那个文件或目录zmzp@zmzp1:~/.ssh$ cd .sshbash: cd: .ssh: 没有那个文件或目录zmzp@zmzp1:~/.ssh$ lsauthorized_keys  gitlab_rsa      id_rsa      key_backupconfig           gitlab_rsa.pub  id_rsa.pub  known_hostszmzp@zmzp1:~/.ssh$ cat id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCypUS8VEyPDw/mf4Tq4LN35+XdlFP1RdZT/dXZNSZUknt+ih14UE5cffruKKN3rqDRJ2AYDX4z7uRCoQ7QDG0ry+S7/CF38uDivaR87EPjbYrSl0FIjeK27a6wjJ0zfDtm7WTOt/fU+v0uOR5V83XlZNF3edq3o8nb8N5javuv6oNU3jC/Z7Qsd9/JisoLz5DCf22MYl2DlmnkX6am9DaTkHdHy5eKS+Z8lWMfqmijUooM/MXCtRHuXRmoQQOablmA5PUARsYpN7/E8VndgaZpG6yKUFq+UL0U91eTnQ+xd2SmvcmpO3FEcw9Z/nRjUbU6bYjyygu0/1rLJ1APkGO7 41377284@qq.com

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 showzmzp@zmzp1:~/data/lyb_project$ git remote add origin git@github.com:bobo159357456/bobo.gitzmzp@zmzp1:~/data/lyb_project$ git remote show origin* 远程 origin  获取地址:git@github.com:bobo159357456/bobo.git  推送地址:git@github.com:bobo159357456/bobo.git  HEAD分支:(unknown)zmzp@zmzp1:~/data/lyb_project$ git pull origin masterfatal: Couldn't find remote ref masterzmzp@zmzp1:~/data/lyb_project$ git pull -u origin master^Czmzp@zmzp1:~/data/lyb_project$ git push -u origin masterCounting 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 git@github.com: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”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似git@github.com: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 you@email.address然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:1 ssh-keygen -C 'your@email.address' -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 git@github.com:XXX/XXX.git 3 git push -u origin master这个git@github.com:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。一些可能遇到的问题解决:如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git提示出错信息:fatal: remote origin already exists.解决办法如下:1、先输入$ git remote rm origin2、再输入$ git remote add origin git@github.com: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\etc5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!如果输入$ ssh -T git@github.com出现错误提示: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 master3、如果出现报错 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 origingit@github.com: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 git@github.com:defnngj/hello-world.git     //连接远程github项目$ git push -u origin master     //将本地项目更新到github项目上去

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

1_创建公钥私钥

1.键入命令:ssh-keygen -t rsa -C "41377284@qq.com"

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 git@coding.net:bobo159357456/bobo.gitfatal: 远程 origin 已经存在。zmzp@zmzp1:~/data/lyb_project$ git remote remove originzmzp@zmzp1:~/data/lyb_project$ git remote showzmzp@zmzp1:~/data/lyb_project$ git remote show originfatal: 'origin' does not appear to be a git repositoryfatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.zmzp@zmzp1:~/data/lyb_project$ git remote add origin git@coding.net:bobo159357456/bobo.gitzmzp@zmzp1:~/data/lyb_project$ git remote showoriginzmzp@zmzp1:~/data/lyb_project$ git remote show origin* 远程 origin  获取地址:git@coding.net:bobo159357456/bobo.git  推送地址:git@coding.net: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_问题现象

因为有积存的代码,长时间忘了处理.


2_问题解决方案

git clean -dxf

0 0
原创粉丝点击