Ubuntu下进行Github的环境配置
来源:互联网 发布:三只松鼠淘宝代理加盟 编辑:程序博客网 时间:2024/05/22 05:03
一、配置github环境
1、环境:Ubuntu16.04 64位
2、申请github账号
3、安装配置git服务器:
(1)安装ssh:sudo apt-get install openssh-server openssh-client
(2)启动ssh服务:sudo /etc/init.d/ssh restart
(3)安装git服务器:sudo apt-get install git-core
4、配置ssh公钥
首先我们在用户主目录下看是否存在.ssh目录。以笔者为例,笔者使用的是Ubuntu系统,当前用户的主目录是/home/grq,所以此时我们需要查找路径/home/grq/.ssh是否存在。
如果存在,查看是否存在id_rsa与id_rsa.pub两个文件是否存在。如果也存在,就可以调到下一步;
如果不存在,便打开终端,输入自己的邮箱地址,创建SSH Key。
(1)本地生成ssh公钥:ssh-keygen -C ‘你的邮箱地址’ -t rsa
注:这条命令会在当前用户目录~/.ssh/下生成密钥文件
其中,”youremail@example.com”是你的邮件地址,-C的字母为大写。后面可以一直回车。中间会让你输入密码,但整个SSH Key对笔者来说保密意义不大,所以不需要设置。SSH Key创建成功后,在笔者的主目录下就会生成/home/grq/.ssh文件夹,里面也会生成文件id_rsa与id_rsa.pub,它们是SSH Key的秘钥对。其中id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以告诉其他人。
终端设置完成后的界面如图所示:
(2)测试畅通性:ssh -v git@github.com
(3)上传公钥到github:点击账户中的profile,选择SSH and GPG keys,点击New SSH key,把~/.ssh/id_rsa.pub中的内容全部复制到Key编辑框中,点击上传。具体操作如下:
登录GitHub,点击右上角头像,Settings -> Personal settings -> SSH and GPG keys。在SSH Keys标签右方点击New SSH Key。
弹出两个文本框。其中的Title,可以随意命名。笔者此处随便命名为grq-Ubuntu。
另一个Key文本框,需要输入刚刚生成的id_rsa.pub文件中的内容。粘贴后点击Add SSH Key,即可生成SSH Key。
具体的操作过程是:
即可用ubuntu自带的gedit打开文件,然后直接将内容复制到Key文本框即可
(4)回复邮件:公钥上传后,github会往你的邮箱发送确认邮件,需要点击确认。
5、测试是否链接成功
测试连接,在命令行中输入ssh -T git@github.com如果出现下面的语句就是成功了
如图所示:
如果测试不成功的话,可以采用下图的解决办法:
二、使用github管理项目
可以将git分为四部分:一部分是自己的本机文件,一部分是缓存区,一个是本地仓库,一个是服务器仓库。当用户在本机修改了文件后,就应该使用git add xx指令将修改保存到缓存区,然后再用git commit yy指令将推送从缓存区修改到本地仓库中,最后使用git push将本地仓库中的修改推送到服务器仓库中。
下面按照流程讲解。
1. 准备上传
首先,我们需要确定的是Ubuntu中是否安装Git。
打开终端,输入指令git,如果返回了一大串提示信息,那么就已经安装了。
如果没有安装,就输入以下指令:
sudo apt-get install git
安装完毕后,终端进入我们需要上传项目所在的文件夹。使用git的初始化命令
git init
注:运行完后,会发现目录多了一个.git隐藏文件夹,这个命令可以把当前目录变成git可以管理的仓库,下面就可以开始进行项目的上传
2、添加需要上传的文件
1)、在你的github中创建一个新的仓库
2)、配置git:
(1)输入命令:git config --global user.name "你的用户名"
(2)输入命令:git config --global user.email 你的邮箱地址
3)、添加托管文件:
输入命令:git add ./
注:这是添加目录下所有文件,如果只是添加某个文件,就将文件名字列出,如果添加目录,则可以用*代替。
4)、检查当前git的状态
然后我们可以使用git指令,查看当前git的状态。指令如下:git status
注意:该指令可以查看当前的分支以及添加文件的情况。
5)、commit推送
使用指令,将缓存区的修改提交到本地仓库。笔者的指令如下:
git commit -m "Update Readme Files(Version of Chinese & English)"
注意:-m后的内容是笔者添加的描述。由于笔者这次是更新该仓库,更新内容是中文与英文的Readme文件,所以就写了上述的备注。可以是修改了哪些代码,新增了哪些功能等等。
如果输入commit指令后,出现错误:
** Please tell me who you are.Run git config --global user.email "you@example.com" git config --global user.name "Your Name"to set your account's default identity.Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'XXX@YYY.(none)')
这时候的解决办法是,在进行git add ./操作的路径中,实际上已经生成了一个隐藏的.git文件夹。在该路径下输入指令cd ./.git便进入.git文件夹,使用gedit或vim打开文件config,在文件末尾加入内容: [user]
email = your email
name = your name
里面的your email, your name随便填上就行,笔者是直接填的GitHub账号中的Email和用户名。填好后如图所示:
当然如果你在第二步骤中用户名和邮箱配置了,就不会出现该错误。
6、上传项目或者说添加文件到远程库
上传文件到仓库之前,我们需要拥有一个仓库。由于笔者这里已经构建了仓库,所以只给出在自己的GitHub账号下构建仓库的教程链接如下:
http://www.cnblogs.com/keZhenxu94/p/5288488.html
构建仓库结束后,我们需要得到该仓库的SSH Key才能向其中上传内容。进入刚才新建的仓库,点击Clone or download,在弹出的Clone with SSH框中点击小按钮Copy to clipboard。如下图所示:
首先我们应该添加一个远程仓库,命名为origin,这样随后才可以添加文件到远程库中。指令如下:
git remote add origin git@github.com:bowrian/vgg-tensorflow.git
如果此时出现错误:fatal: remote origin already exists. 这时候说明远程仓库已经存在。这时候需要先删除origin仓库,然后再重新添加该远程仓库。指令如下:
git remote rm origingit remote add origin git@github.com:bowrian/vgg-tensorflow.git
然后我们添加文件到远程库。笔者使用的指令如下:
git remote set-url origin git@github.com:bowrian/vgg-tensorflow.git
其中,git@github.com:bowrian/vgg-tensorflow.git即为笔者在github服务器仓库中复制的内容。
然后,笔者使用push指令进行上传。如果该仓库是第一次进行push,则指令如下:
git push origin master
如果时更新的话:
git push
之后会弹出问题,询问是否继续?输入yes回车即可。如图所示:
push结束后,在GitHub端的对应仓库上刷新一下,内容就改变了。说明项目内容已经上传成功了
三、问题解决:
1、在最后一步进行push的操作后,会出现失败的情况,如图所示:
通常出现这种情况的原因,是新建的仓库往往会有一个文件Readme.md文件,而本地仓库中没有这个文件,也就是说本地仓库与服务器端仓库没有实现同步。所以将这个Readme.md文件clone到本地,然后再commit提交,应该就没有问题了。
2、或者在 push 操作的时候遇到下述错误:
error: 无法推送一些引用到
‘git@github.com:upcAutoLang/BackgroundSplit-OpenCV.git’
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 ‘git pull …’)。
提示:详见 ‘git push –help’ 中的 ‘Note about fast-forwards’ 小节。
出现该情况的原因可能是之前在上传时创建的.git文件被删除或者修改,也可能是其他人在 Github 上提交过代码。
解决方案:
1. 强行上传:
git push -u origin +master
- 尽量先同步 Github 上的代码到本地,在上面更改之后再上传。
- “git remote add origin 仓库地址”:这个命令只用输一次,以后就不用再输入了,直接git add,git commit,git pull,git push。
四、git常用命令:
1、git clone 仓库地址 //克隆仓库代码到本地
2、git diff //查看本地代码与远程代码有哪些不同
3、git pull //从远程拿到最新版本代码(提交代码时,忌讳直接提交。每次提交代码之前,一定要保证本地的代码是最新的,即先执行git pull)
4、git branch //查看本地代码属于仓库的哪个分支
5、git branch -a //查看仓库都有哪些分支
6、git checkout 分支名 //切换分支(注:不建议使用,最好给一个分支单独建立一个文件夹)
7、git clone -b 分支名 仓库地址 //克隆指定分支的仓库代码到本地
8、git push -u origin 分支名(分支名通常为master)
五、git常见问题:
git pull失败问题:有时候git pull会出现失败的情况,即本地代码和远程代码出现冲突,这种情况需要手动解决。
解决冲突方法:
1、git stash //将本地文件回馈上一步操作
2、git pull //将新代码下载下来
3、git stash pop //会将已经冲突的文件合并,代码中会出现 “<<<<<” 和 “>>>>>”的符号,符号之间的代码就是本地和远程的冲突的部分,协商去解决。
4、解决好后再git pull,git commit,git push
- Ubuntu下进行Github的环境配置
- ubuntu环境下配置git及github
- Ubuntu下配置Python进行数据处理的环境
- Ubuntu下配置Github
- Github 在ubuntu下的配置
- Ubuntu下github的配置和使用
- Ubuntu下进行libpcap编程环境配置 (ubuntu 14.04)
- Ubuntu环境下的Android 环境配置
- linux 下ubuntu 下的环境配置
- Ubuntu下github配置详解
- Ubuntu环境下基于Linux进行DOL配置
- Ubuntu下sublime3进行Unix高级编程环境配置
- Eclipse下配置Github环境
- #100128#Ubuntu 下进行NFS的配置
- Ubuntu下进行JDK的配置
- Eclipse环境下进行Tomcat的配置
- ubuntu下的MPICH2的环境配置
- Ubuntu 下环境配置
- 第一章 引论
- 关于路径问题
- 算法
- 流程控制
- ffmpeg合并两路rtmp流并推送
- Ubuntu下进行Github的环境配置
- spark streaming + kafka +python(编程)初探
- NYOJ-305
- Android自定义view,实现多画面播放器
- Java笔记8
- Linux下$#,$0,$1,$2,$3,$@,$*,$$,$?代表的含义
- java 学习路线
- Linux下SVN使用指南
- HDU