【转】git与github在ubuntu下的使用 -- 不错
原文网址:http://www.cnblogs.com/cocowool/archive/2010/10/19/1855616.html
最近开始使用git对kohana3的文档做一些补充的工作,使用了git 和 github ,从了解到使用,还是有一点距离,下面是总结的一些方法。
1、Git的安装
我使用了ubuntu 10.04 ,默认情况下,ubuntu 中并没有安装,所以首先需要在系统中进行 git 的安装。
sudo apt-get install git-core
安装完成后,在终端中输入 git 就可以看到相关的命令了。如果只是需要使用git来管理本地的代码,那么现在就可以使用了。如果需要和github上的项目结合,还需要做其他的一些操作。
2、github帐号的申请
如果只是需要将github上感兴趣的代码拷贝到本地,自己进行修改使用,而不打算共享发布的话,其实不申请帐号也没有关系,只需要 git clone 代码到本地就可以了。本文对这种方法不做讨论,毕竟使用 github 就是为了开源的目的。
首先去 github.com 上注册一个帐号,具体的注册流程就不赘述了。
3、在本地建立一个文件夹,然后做一些全局变量的初始化
git config --global user.name = "用户名或者用户ID"
git config --global user.email = "邮箱"
这两个选项会在以后的使用过程中自动添加到代码中。
4、创建验证用的公钥
这个是比较复杂和困扰大多数人的地方,因为 git 是通过 ssh 的方式访问资源库的,所以需要在本地创建验证用的文件。
使用命令:ssh-keygen -C 'you email address@gmail.com' -t rsa
会在用户目录 ~/.ssh/ 下建立相应的密钥文件
可以使用 ssh -v git@github.com 命令来测试链接是否畅通
5、上传公钥
在 github.com 的界面中 选择右上角的 Account Settings,然后选择 SSH Public Keys ,选择新加。
Title 可以随便命名,Key 的内容拷贝自 ~/.ssh/id_rsa.pub 中的内容,完成后,可以再使用 ssh -v git@github.com 进行测试。看到下面的信息表示验证成功。
进行到这里,我们也可以利用github来管理我们的项目和参与开源工作了,大体上使用git分为三种方式。
管理自己的项目
这种情况是自己在本地有一些代码,需要利用 github 来管理自己的项目,可以按照下面的步骤进行。
1、建立仓库
在需要建立项目的文件夹中,使用 git init 进行仓库的建立。完成后,可以看到文件家中多了一个 .git 隐藏目录。
2、添加文件
使用 git add . 来进行初始文件的添加。这里 . 表示将文件夹下所有的文件都添加进去,我们也可以指定文件进行添加。
3、提交文件
使用 git -m commit -m 'comment' 提交,可以将编辑的内容进行提交。
通过 git show 可以看到项目的一些状态。
这是代码已经在本地管理了,但是本地管理完全体现不出git的优势。
利用github托管自己的项目
1、如果需要将自己的项目托管在github.com上,首先需要创建项目。在 Dashboard 中选择 Create New Repository,填入相关信息后,项目就创建成功了。
2、之后,会有一个如何上传的提示,如下图已经很详细了。
Fork别人的项目
前面提到过,如果只是下载使用别人的代码,通过 git clone 就可以了,当然clone的前提是项目必须是public的,私有的项目是没办法的。如果需要参与,可以通过fork,然后合并的方式。
1、首先需要去自己感兴趣的项目中进行Fork,fork出自己的一份分支来。fork之后,一般可以看到一个ssh访问的地址。例如:git@github.com:cocowool/userguide.git
2、复制代码
使用 git clone git@github.com:cocowool/userguide.git userguide 可以将代码复制到本地的 userguide 文件夹中
3、进行自己的修改,完成后请求原作者合并
git pull person master
下面是一些比较有用的命令的介绍:
# 创建一个版本库
git init
# 每次修改好了后,可以先将修改存入stage(快照/索引)中
git add <modified files>
# 修改了大量文件则使用下面这个命令批量存入
git add .
# 使用commit将快照/索引中的内容提交到版本库中
git commit -m "msg"
# 也可以将git add与git commit用一个指令完成
git commit -a -m "msg"
# 将本地的git档案与github(远程)上的同步
git push
# 将github(远程)的git档案与本地的同步(即更新本地端的repo)
git pull
# 例如,pull指令其实包含了fetch(將变更复制回來)以及merge(合并)操作
git pull git://github.com/tom/test.git
# 另外版本控制系統的branch功能也很有意思,若同时修改bug,又要加入新功能,可以fork出一个branch:一个专门修bug,一个专门加入新功能,等到稳定后再merge合并
git branch bug_fix # 建立branch,名为bug_fix
git checkout bug_fix # 切换到bug_fix
git checkout master #切换到主要的repo
git merge bug_fix #把bug_fix这个branch和现在的branch合并
# 若有remote的branch,想要查看并checkout
git branch -r # 查看远程branch
git checkout -b bug_fix_local bug_fix_remote #把本地端切换为远程的bug_fix_remote branch并命名为bug_fix_local
# 还有其它可以查看repo状态的工具
git log #可以查看每次commit的改变
git diff #可以查看最近一次改变的內容,加上参数可以看其它的改变并互相比较
git show #可以看某次的变更
# 若想知道目前工作树的状态,可以輸入
git status
参考资料:
1、Git与Github在Windows环境下的使用指南
2、使用GIT管理源代码
3、git/github使用小记
4、使用git与github管理开发
【转】git与github在ubuntu下的使用 -- 不错的更多相关文章
- Ubuntu下使用Git和GitHub
刚刚学习git和github,网上的知识太杂太乱.照着折腾了很长的时间,都没有搞出个结果,心里十分痒痒,最后终于在github上看到成果.本文适合刚刚接触github但是急于想看到效果的同学,当然gi ...
- Ubuntu下使用git提交代码至GitHub
一.Ubuntu下安装Git Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装. 如果没有安装,使用命令: sudo apt-get insta ...
- Ubuntu Linux下通过代理(proxy)使用git上github.com
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/loveaborn/article/details/24575659 github.com.作为程序猿 ...
- linux下git以及github的连接与使用
简单理解 Git 的思想和基本的工作原理,能够更好的进一步和使用Git.在开始学习Git 的时候,最好不要把Git的各种概念和其他的版本控制系统诸如 Subversion 等相比,否则容易混淆每个操作 ...
- 设置ubuntu 下git 的用户名和邮箱
设置ubuntu 下git 的用户名和邮箱 摘自 慢慢修远路,上下求索心http://yanshaozhi.iteye.com/blog/386752 虽然我没看怎么明白 但我用第一总方法就设置好了 ...
- ubuntu下git安装及使用
ubuntu下git安装及使用 其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...
- [转]Ubuntu下GitHub的使用
转自Pythoner 本文将对Ubuntu下Git的安装,以及如何连接GitHub进行讲解. 1.环境 OS: Ubuntu13.04 64bitsGit: 1.8.1.2 2.Git安装 执行如下命 ...
- ubuntu下git clone 出现Permission denied (publickey).
今天在ubuntu上使用git 克隆 github上面的库,一直权限拒绝Permission denied (publickey). 公钥绑了好几次,都不行: 最后怀疑是git配置公钥地址有问题:打开 ...
- linux,windows,ubuntu下git安装与使用
ubuntu下git安装与使用:首先应该检查本地是否已经安装了git ,如果没有安装的话,在命令模式下输入 sudo apt-get install git 进行安装 输入git命令查看安装状态及常用 ...
随机推荐
- MapReduce流程、如何统计任务数目以及Partitioner
核心功能描述 应用程序通常会通过提供map和reduce来实现 Mapper和Reducer接口,它们组成作业的核心. Map是一类将输入记录集转换为中间格式记录集的独立任务. 这种转换的中间格式记录 ...
- 如何从Linux系统中获取带宽、流量网络数据
引入 国外的云主机厂商,例如AWS提供的网络数据是以流量为单位的,例如下面的图片: 从上图来看,其取值方式为 每隔5分钟取值1次,(每次)每个点显示为1分钟内的流量字节数(Bytes) 带宽与流量 我 ...
- windows环境下nutch2.x 在eclipse中实现抓取数据存进mysql详细步骤
nutch2.x 在eclipse中实现抓取数据存进mysql步骤 最近在研究nutch,花了几天时间,也遇到很多问题,最终结果还是成功了,在此记录,并给其他有兴趣的人提供参考,共同进步. 对nutc ...
- js如何判断字符串是否进行过window.btoa()转码
window.btoa()是基于Base64算法的.window.btoa()只能将ASCII字符进行转码 因此我们需要了解Base64的原理及主要特征:Base64的原理在这里就不多说了,网上很多讲 ...
- pyqt颜色字符
from PyQt4.QtGui import QPlainTextEdit, QWidget, QVBoxLayout, QApplication, \ QFileDialog, QMessageB ...
- Android-67-Tomcat启动出错:Server Tomcat v7.0 Server at localhost failed to start.
错误:Server Tomcat v7.0 Server at localhost failed to start.如图: 唉! ! !!图片上传不上去,悲哀啊!..仅仅能先写着错误提示语吧~~ ...
- WP系统推广难的原因之中的一个之我见
个人也觉得如今的Android市场几家独大,竞争太激烈.利润空间挤压太严重,有实力的厂家不如尝试剑走偏锋,在其它大佬都还没跟进的时候,把市场投向WP.先入为主,不失为良策! 话说Microsoft不开 ...
- CentOS7--DNS处理模块DnsPython的简单使用
初步了解: DnsPython是Python实现的一个DNS工具包,支持几乎所有的记录类型. 安装: # wget http://www.dnspython.org/kits/1.9.4/dnspyt ...
- Proguard 保留native methods的问题
发现一个奇怪的问题,如果使用下面的配置来keep的话,native的方法还是被删掉了,百思不得其解. -keepclasseswithmembers class * { native *; } ...
- ORACLE函数详解【weber出品】
一.什么是函数 一个函数: 1. 是命名的PL/SQL块,必须返回一个值 2. 可以存储到数据库中重复执行 3. 可以作为表达式的一部分或者提供一个参数值 二.创建函数的语法 必须至少有一个返回值,创 ...