设为首页 收藏本站
查看: 901|回复: 0

[经验分享] [转]Git与Github的使用(ubuntu)

[复制链接]

尚未签到

发表于 2016-4-22 12:33:26 | 显示全部楼层 |阅读模式
  

转自:http://www.pureweber.com/article/git-and-github/


Git的简介

Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样,”Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。”
  

Git的安装与配置

安装Git

ubuntu 10.04源里有Git,直接用yum,apt-get安装即可。安装后直接使用即可,一些初始化的信息在下面有介绍。

配置ssh-key

Github使用ssh tunnel(加密通道,不做介绍了)。因此要先产生一枚ssh-key 上传到Github上。
 

$ssh-keygen -C 'your@email.address' -t rsa
   
       然后确认默认路径,再连续输入2次密码(直接回车则密码为空)即可。 (备注1)
  
  

Github注册及Git的简单操作
  
http://github.com(支持汉语),注册后帐号右上角有”Your Repositories”,选择”Create One”。在”Project name”处输入名字后,它会显示出一个创建新项目的小教程。
说一下在本地的一些操作,假设你的代码文档已经存在了 ~/work文件夹中,那么:

Git的初始设置
  

$git config --global user.name "Your Real Name"
$git config --global user.email  you@email.address
  
  这些是要在以后版本信息里面出现的东西。
  
  
  

初始化Git仓库(init)
  

$ cd ~/work
$ git init
# 然后会显示:
Initialized empty Git repository in $PROJECT/ .git/
  
  表示在当前目录下闯将了一个.git的隐藏目录,这个就是所谓的Git仓库了。此时的~/work文件夹,我们也改名称之为工作树。
  
  
  

生成快照(take a snapshot)
  将工作树中的一些文档存至Git仓库中,并且变成Git仓库能够识别的数据格式。
  
  

$ cd ~/work
$ git add .
   
  
  
  注意:add 与后面的”.”是有一个空格的,这个”.”表示所有的文档。如果只生成一个文档,则将”.”改为文档名即可。
  

提交(commit)

所生成的快照被存放到一个临时的存储区域, 称该区域为索引。Git的每次更新都需要提交一次。
  
  

$ git commit
# 一般来说都需要对跟新的版本进行说明,则上述命令应为
$ git commit -m "你的版本更新信息"
   
  

提交密钥

还记得刚刚生成的密钥吧,现在我们要把它放到github上了
 

$ cd ~/.ssh
$ ls
  
  
会显示”id_rsa     id_rsa.pub” 两个文件,前一个是私钥,.pub的是公钥。将公钥粘贴到你github帐号中的
SSH Public Keys处即可。 (备注2)
 
  

文档忽略

提供了文档忽略机制,Git可以将工作树中你不希望接受 Git 管理的文档信息写到同一目录下的 .gitignore 文件中。以文件”dust”为例:
 

$ cd ~/work
$ echo “dust” > .gitignore
$ git add .
   
先叙述这么多,有更多的需要可以到git官网上去查http://git-scm.com
  
  
  
  
  

PULL/PUSH

git-pull:从远端仓库取回版本更新
git-push:可将本地版本更新推送到远端仓库中。
 
  

团队开发流程

$ git clone  用户名@IP:目标路径

修改文件

$ git add 改动的文件
$ git commit
$ git pull

解决合并问题

$ git push
push命令只能将代码push到你的分支上。

合并&分支

分支的作用有很多,并行开发多版本,并行开发新功能,测试某个独立功能点等。而这些总结起来,本
目的就是为了避免不同版本的代码之间互相影响而当这种影响已经不存在了,就需要合并了

1.产生新分支(名为local):
  

$ git branch local
   
  

2.查看存在多少分支
  

$ git branch
local
* master
   
  
3.切换到分支/主文件夹
  

$ git checkout local
   


  
  
  

4.分支的合并
  

$ git checkout master # 将当前分支切换为master
$ git merge local # 将local分支与当前分支合并
   
  

5.删除分支
  
  
  

$ git branch d local
  
  
  
  

备注1:

关于ssh命令:
-keygen:产生公开钥 (pulib key) 和私人钥 (private key)。
-c:要 求压缩所有资料(包含 stdin, stdout,stderr 和 X11 和 TCP/IP 连接) 压缩演算规则与 gzip 相同
-t:强制配置 pseudo-tty。

备注2:

注意:复制的时候要一点不差的拿过去,一个符号一个空格都可能会导致密钥不能使用,其中
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
这个问题就是因为不能识别密钥而没有权限导致的。
 
  
链接:

1. 一个很直观的git命令表:

http://www.cnblogs.com/1-2-3/archive/2010/07/18/git-commands.html
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-207437-1-1.html 上篇帖子: ubuntu git服务器搭建过程 下篇帖子: Ubuntu使用git来管理代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表