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

[经验分享] 版本控制

[复制链接]

尚未签到

发表于 2018-1-15 11:18:08 | 显示全部楼层 |阅读模式
  大家好,我又回来了,上个礼拜因为熬夜看球感冒了,所以没有写新的文章出来。
  这周给大家介绍下git的使用
  我们为什么需要一个版本控制的软件呢?
  我相信大家很多人在进行版本控制时往往都是使用复制的方式,不过这样做的后果是
  1.需要程序员自己记住每一个复制所对应的版本是多少,
  2.项目回退时很容易混淆当前的工作路径,并且对以前的版本进行修改,导致以前的版本被错误的修改
  3.多人合作时,会出现大家操作的项目的版本不一致的现象
  所以我们需要一个版本控制软件来帮助我们进行版本控制,减少我们记忆上的负担和使版本控制变得简单易操作
  一、什么是git
  Git是一个开源的分布式版本控制系统,能够有效的对项目进行版本的控制。
  Git既可以用于个人的,本地的版本控制,又可以在多人合作时,将版本备份到服务器,保证多人间版本的一致性
  二、git的安装
  下载地址 https://code.google.com/p/msysgit/downloads/list
  第一步 在官方网站上下载

  第二步  安装,一路next,直到出现如下界面

  第一个意思是只能通过git bash输入命令,
  第二个指可以通过cmd启动git,输入git相关命令必须等它启动后
  第三个指将可以在cmd中直接输入git的相关命令,注意这个可能会覆盖cmd中原有的命令
  建议大家选第一个就可以了

  是为了处理windows和linux/unix中换行符的不同(windows中换行符是CRLF,linux/unix中是LF)
  第一个选项:会将所有的LF转换为CRLF,如何你是在windows下使用,建议勾选
  第二个选项:会将所有的CRLF转换为LF,如何你是在linux/unix下使用,建议勾选;
  第三个选项:不进行换行符的转换
  三、git的使用
  1. 中文录入问题
  默认安装的 msysGit 的 shell 环境中无法输入中文。为了能在 shell 界面中输入中文,需要修改配置文件 /etc/inputrc ,修改相关的配置如下:
  # disable/enable 8bit input
  set meta-flag on
  set input-meta on
  set output-meta on
  set convert-meta off
  关闭 Git Bash 再重启,就可以在 msysGit 的 shell 环境中输入中文了。
  这样就可以录入中文了,仍会有部分字是乱码的,所以大家在使用中,要避免输入中文,如用户名等。
  2. ls 命令显示中文文件名
  最常用的用于显示目录和文件名列表的命令 ls 在显示中文文件名的时候也有问题。中文会显示为乱码
  可以将alias ls="ls --show-control-chars"
  添加到配置文件 /etc/profile 的最后面,用一个空格与原有的内容分开即可,可实现在每次运行 Git Bash 时自动加载。
  3.Windows下修改Git Bush的HOME路径
  Windows默认的HOME和~路径一般都是C:\Users\用户名,每次得用命令切换到常用的Repository下,此操作重复而没有意义。
  修改Git Bush默认的Home路径的方法如下
  打开Git安装位置\etc\profile文件,找到
  # normalize HOME to unix path
  HOME="$(cd "$HOME" ; pwd)"
  export PATH="$HOME/bin:$PATH"
  增加两行,修改后结果如下:
  # normalize HOME to unix path
  HOME="你想要修改的HOME路径"
  HOME="$(cd "$HOME" ; pwd)"
  cd
  export PATH="$HOME/bin:$PATH"
  再次启动Git Bush,就会自动进入新修改后的HOME路径了
  由于有关git东西很多,下面我用于一个例子来向大家进行讲解
  将代码进行本地的备份
  在当前目录下新建了一个test文件(mkdir test)

  切换到test文件中(cd test)
  新建了一个git库(git init)

  新建了一个new.txt文件,内容是hello world(echo “hello world”>>nexw.txt)

  发现new.txt未加入到git的版本控制的监视中untracked files(git status)

  将new.txt加入到监视列表中(git add new.txt)

  发现new.txt已经添加到git的监视列表中,现处于已修改待提交状态(git status)

  将项目里的所有处于已修改待提交状态的文件提交,并且将该版本进行提交,版本标注为first(git commit –m “first”)

  修改new.txt(echo “hello new world”>>new.txt)
  将修改过的文件提交(git add new.txt)
  将该版本进行提交,版本标注为second(git commit –m “second”)

  查看提交历史(git log)
  发现已有两个记录

  现在new.txt中的内容是hello world\r\nhello new world

  切换到first(git checkout aa3975)
  根据git log的结果aa3975即可确定first版本是哪一个

  发现new.txt的内容已经变回new.txt了

  将代码备份到服务器端
  由于校园网的限制这里,我就不用github演示,而是使用京东的代码库进行演示,将代码上传到自己的京东的代码库中
  登陆到https://code.jd.com/
  注册一个用户

  登陆

  点选创建代码库,创建代码库,填写相关信息(私有代码库指只有你邀请的人才可以对代码进行编辑)

  创建完成后,会在代码库管理中,找到它

  点击进入后,复制右下方的地址

  返回到git中,新建一个远程的仓库,名字叫做web(git remote add web https://code.jd.com/temptry/temptry.git)

  切换回master分支下

  将web仓库上的数据取到本地的master分支上(默认产生的主分支),这个需要输入你在京东注册时,输入的用户名和密码
  ,如果觉得每次都要输入很麻烦可以
  1、新建一个名为_netrc的文件,文件内容如下
  machine code.jd.com  #服务器地址
  login 111111  #用户名
  password 1111  #密码
  2、将该文件放到一个不含有空格的路径下如D:\code,而D:\Program Files (x86)则是非法的,含义空格
  3、新建一个名为HOME的环境变量,密码用户名文件所在的路径。
  这样以后就不用输入密码了

  将本地代码提交到服务器上(git push web master)

  发现,代码已经同步到服务器上了

  git还有很多的功能,推荐一本书籍《pro git》,有中文的版本,pdf也很容易从网上找到

运维网声明 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-435297-1-1.html 上篇帖子: git ignore file, Git增加忽略文件 下篇帖子: Git 常用命令详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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