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

[经验分享] Yoooshiki

[复制链接]
发表于 2017-11-23 06:39:14 | 显示全部楼层 |阅读模式
Git
  标签(空格分隔): 版本控制

Git介绍
  Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git与SVN的区别
  GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
  
如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。
  Git 与 SVN 区别点:


  • GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
  • GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
  • GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
  • GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
  • GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
安装Git并配置

安装

Linux


  •   Debian or Ubuntu
      

    $ sudo add-apt-repository ppa:git-core/ppa  
    $ sudo apt-get update
      
    $ sudo apt-get install git

  •   CentOS
      

    $ sudo yum install git
macOS
  在Git官网使用gui安装。

配置
  初次使用Git时,需要Git进行配置


  • 指定用户名和邮箱
  

$ git config --global user.name "Your Name"  
$ git config --global user.email "youremail@domain.com"
  

  查看配置信息:$ git config --list


  • 生成并部署SSH key公钥
  ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
  输入之后,连续按回车键,不需要做任何更改,会生成SSH key,也就是一个id_rsa.pub文件,存放在系统默认路径下:

操作系统
路径
Win
C/User/用户名/.ssh/id_rsa.pub
maxOS
$ open ~/.ssh打开.ssh文件夹  注意

  
.ssh 文件夹下同时有>  使用文本编辑打开id_rsa.pub文件,得到SSH key公钥,然后将公钥添加到github/码云当中。
  进入Github或码云个人主页,然后
  github:Settings -> SSH and GPG keys -> New SSH key
  
码云:设置 -> SSH公钥
  将之前得到的SSH key公钥复制过来,Title可以随便取。

配置时的问题
  有一次我在Windows的电脑上生成公钥,输入ssh-keygen后居然提示"Could not create directory ‘//.ssh’" 错误,这奇了怪了,折腾了半天,原来是本机没有了home的环境变量。
  添加环境变量:HOME=C:\Users\你的用户名

本地代码提交到github/码云、更新本地代码
  前置条件


  • 完成安装Git并配置
  • 在Github/码云上添加仓库,并复制项目地址。
  开始提交、更新
  

$ mkdir test      //创建一个test文件夹  
$ cd test         //进入这个test文件夹
  
$ git init        //初始化git仓库
  
$ git remote add origin https://github.com/VitoYi/xxx     //关联远程仓库
  
$ touch README    //创建README文件
  
$ git add README  //将README文件存到暂存区
  
$ git add .       //将项目中的所有文件存到暂存区
  
$ git commit -m 'first commit'    //将暂存区的文件提交到master分支,-m后面是注释
  
$ git push origin master          //将本地的master分支代码推送到远程master分支
  

  
$ git push origin master -f       //如上面出问题,可以试试这个,表示舍弃线上的文件,强制推送
  

  
$ git status    //查看当前工作区的状态
  
$ git pull      //将远程服务器的代码更新到本地
  

  Git代码提交的过程分为四个工作区
DSC0000.png


通过git检出github/码云上的项目
DSC0001.png

  然后进入想要检出的目录,使用命令:
  
$ git clone https://github.com/VitoYi/xxx.git

版本跳跃与撤销代码
  

$ git log       //命令查看版本日志;  
$ git reflog    //命令查看所有操作日志;
  
$ git reset --hard xxx(版本号)      //实现版本跳转;
  
$ git reset --hard HAED            //跳转到当前版本(回到本次版本修改之前的状态,主要用于撤销代码)。
  

运维网声明 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-409711-1-1.html 上篇帖子: 阿里云服务器设置IPV6通过AppStore审核 下篇帖子: centos下mysql 5源码安装全过程记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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