Ubuntu使用github
2016-02-01 20:13
176 查看
安装Git客户端了,命令如下:
我们首先使用ssh命令连接github.com的SSH服务,登录用户名为git(所有GitHub用户共享此SSH用户名,不要写成其他)。
这说明我们还没在GitHub账户中正确设置公钥认证。下图为GitHub的SSH公钥设置界面:
![](http://www.linuxidc.com/upload/2012_06/120606100474241.png)
GitHub的SSH服务支持OpenSSH格式的公钥认证,可以通过Ubuntu下的ssh-keygen命令创建公钥/私钥对。
接下来就将~/.ssh/github.pub文件内容拷贝到剪切板。
我的内容如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUZOYMb7UDhgK/M1t0cCTXW9H0VzW1GfOep6+H1L4fyyi0+gM/Axjy/+i5vN+MrLj7MIbzdu8zbTJGIgXu4DGbLFiRb9j30aw9yOi53AArkLaYvDwUXRWFoiRj3JsgeTWmy2X9KwvveQ1/5sg4qNgKSsuMyTHVpRDzwdxCsLlmukhcsoEkU3rxqJPUbs8ohHowyYdh5Skhxlpci+Y0/ac6dCqedcMAeSiTUVgKfxs0YgW1QrsVi3aPzDVVdPseB93jromcoeqnhzfUKycLxOGTZ0bGdlP4ZZjn6admjD5KxSM3iyrPh+6m6DXQ263YUmppPFnAl6iS2GyppiOOQbHt
feather@feather.com
公钥是一行长长的字符串,若用编辑器打开公钥文件会折行显示,注意在copy时一定不要在其中插入多余的换行符、空格等,否则在公钥认证过程因为服务器端和客户端公钥不匹配而导致认证失败。然后将公钥文件中的内容粘贴到GitHub的SSH公钥管理的对话框,即上图key对话框中,并为这个SSH Key起个名字并保存。
如图设置:
点击 “Add ssh key”,如下图:
![](http://www.linuxidc.com/upload/2014-09/140906064381976.png)
设置成功后,再用ssh命令访问GitHub,会显示一条认证成功信息并退出。在认证成功的信息中还会显示该公钥对应的用户名。
通过以上的设置之后,我们就能够通过SSH的方式,直接使用Git命令访问GitHub托管服务器了。那么,下面我们就开始使用Git进行版本控制:
1. 从服务器下载代码,准确的说应该是从GitHub服务器复制一个版本库到本地:
我的账户名是FeatherHunter
项目名是IHome
所以命令为:
2. 获取到源码之后,就可以进行开发了,代码开发完成就可以提交代码:
3. 有可能你和其他人改的是同一个文件,那么冲突的情况是在所难免的,那么在提交之后再获取一下代码,就会提示代码冲突的文件,我们需要做的就是处理这些冲突,并再次提交:
4. 当你做完以上的步骤的时候,你需要做的是把本地数据目录的版本库的数据同步到GitHub服务器上去,这样你的同事才能够看到你作出的修改:
sudo apt-get install git
我们首先使用ssh命令连接github.com的SSH服务,登录用户名为git(所有GitHub用户共享此SSH用户名,不要写成其他)。
ssh -T git@github.com 执行之后提示:Permission denied (publickey).
这说明我们还没在GitHub账户中正确设置公钥认证。下图为GitHub的SSH公钥设置界面:
![](http://www.linuxidc.com/upload/2012_06/120606100474241.png)
GitHub的SSH服务支持OpenSSH格式的公钥认证,可以通过Ubuntu下的ssh-keygen命令创建公钥/私钥对。
ssh-keygen -C "yourname@yourcompany.com" -f ~/.ssh/github
接下来就将~/.ssh/github.pub文件内容拷贝到剪切板。
我的内容如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUZOYMb7UDhgK/M1t0cCTXW9H0VzW1GfOep6+H1L4fyyi0+gM/Axjy/+i5vN+MrLj7MIbzdu8zbTJGIgXu4DGbLFiRb9j30aw9yOi53AArkLaYvDwUXRWFoiRj3JsgeTWmy2X9KwvveQ1/5sg4qNgKSsuMyTHVpRDzwdxCsLlmukhcsoEkU3rxqJPUbs8ohHowyYdh5Skhxlpci+Y0/ac6dCqedcMAeSiTUVgKfxs0YgW1QrsVi3aPzDVVdPseB93jromcoeqnhzfUKycLxOGTZ0bGdlP4ZZjn6admjD5KxSM3iyrPh+6m6DXQ263YUmppPFnAl6iS2GyppiOOQbHt
feather@feather.com
公钥是一行长长的字符串,若用编辑器打开公钥文件会折行显示,注意在copy时一定不要在其中插入多余的换行符、空格等,否则在公钥认证过程因为服务器端和客户端公钥不匹配而导致认证失败。然后将公钥文件中的内容粘贴到GitHub的SSH公钥管理的对话框,即上图key对话框中,并为这个SSH Key起个名字并保存。
如图设置:
点击 “Add ssh key”,如下图:
![](http://www.linuxidc.com/upload/2014-09/140906064381976.png)
设置成功后,再用ssh命令访问GitHub,会显示一条认证成功信息并退出。在认证成功的信息中还会显示该公钥对应的用户名。
ssh -T git@github.com 执行后提示:Hi github! You've successfully authenticated, but GitHub does not provide shell access.
通过以上的设置之后,我们就能够通过SSH的方式,直接使用Git命令访问GitHub托管服务器了。那么,下面我们就开始使用Git进行版本控制:
1. 从服务器下载代码,准确的说应该是从GitHub服务器复制一个版本库到本地:
mkdir git mkdir repos cd git/repos git clone git@github.com:"account context"/"repos name".git
我的账户名是FeatherHunter
项目名是IHome
所以命令为:
git clone git@github.com:FeatherHunter/IHome.git
2. 获取到源码之后,就可以进行开发了,代码开发完成就可以提交代码:
git add . //往暂存区域添加已添加和修改的文件,不处理删除的文件 git status //比较本地数据目录与暂存区域的变化 git commit -m "commit directions" //提到代码到本地数据目录,并添加提交说明
3. 有可能你和其他人改的是同一个文件,那么冲突的情况是在所难免的,那么在提交之后再获取一下代码,就会提示代码冲突的文件,我们需要做的就是处理这些冲突,并再次提交:
git pull //更新代码 根据提示修改冲突文件中的代码 git add . git commit -m "commit directions"
4. 当你做完以上的步骤的时候,你需要做的是把本地数据目录的版本库的数据同步到GitHub服务器上去,这样你的同事才能够看到你作出的修改:
git push
相关文章推荐
- 2-6 Java类加载器总结
- 编程之美 - 安排见面会问题
- C++的ofstream与ifstream使用
- C++ 用于大型程序的工具
- python 递归和装饰器
- Qt国际化(Q_DECLARE_TR_FUNCTIONS() 宏给非Qt类添加翻译支持,以前没见过QTextEncoder和QTextDecoder和QLibraryInfo::location()和QEvent::LanguageChange)
- Java中对象调用机制
- 如何在eclipse中配置arm交叉编译环境
- Qt国际化相关类(以前没见过codec->toUnicode,QTextCodec,QLocale.toString和QLocale::setDefault,QInputMethod::locale())
- php插入转义与查找转义
- Qt属性系统
- Qt容器类(总结)
- Qt状态机框架
- Qt新建线程的方法(有QRunnable,QThreadPool,moveToThread和QtConcurrent的例子)
- 无插件固定表头代码
- 关于C语言里getchar和scanf的思考
- python 写文件刷新缓存
- 本地方法(JNI)——访问域+字符串参数
- C#成神之路<4> C#第一次程序编写
- JAVA环境变量配置