zoukankan      html  css  js  c++  java
  • 版本控制-git的使用

    大家好,我又回来了,上个礼拜因为熬夜看球感冒了,所以没有写新的文章出来。

    这周给大家介绍下git的使用

    我们为什么需要一个版本控制的软件呢?

    我相信大家很多人在进行版本控制时往往都是使用复制的方式,不过这样做的后果是

    1.需要程序员自己记住每一个复制所对应的版本是多少,

    2.项目回退时很容易混淆当前的工作路径,并且对以前的版本进行修改,导致以前的版本被错误的修改

    3.多人合作时,会出现大家操作的项目的版本不一致的现象

    所以我们需要一个版本控制软件来帮助我们进行版本控制,减少我们记忆上的负担和使版本控制变得简单易操作

    一、什么是git

    Git是一个开源的分布式版本控制系统,能够有效的对项目进行版本的控制。

    Git既可以用于个人的,本地的版本控制,又可以在多人合作时,将版本备份到服务器,保证多人间版本的一致性

    二、git的安装

    下载地址 https://code.google.com/p/msysgit/downloads/list

    第一步 在官方网站上下载

    image

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

    image

    第一个意思是只能通过git bash输入命令,

    第二个指可以通过cmd启动git,输入git相关命令必须等它启动后

    第三个指将可以在cmd中直接输入git的相关命令,注意这个可能会覆盖cmd中原有的命令

    建议大家选第一个就可以了

    image

    是为了处理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安装位置etcprofile文件,找到

    # 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)

    image

    切换到test文件中(cd test)

    新建了一个git库(git init)

    image

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

    image

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

    image

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

    image

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

    image

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

    image

    修改new.txt(echo “hello new world”>>new.txt)

    将修改过的文件提交(git add new.txt)

    将该版本进行提交,版本标注为second(git commit –m “second”)

    image

    查看提交历史(git log)

    发现已有两个记录

    image

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

    image

    切换到first(git checkout aa3975)

    根据git log的结果aa3975即可确定first版本是哪一个

    image

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

    image

    将代码备份到服务器端

    由于校园网的限制这里,我就不用github演示,而是使用京东的代码库进行演示,将代码上传到自己的京东的代码库中

    登陆到https://code.jd.com/

    注册一个用户

    image

    登陆

    image

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

    image

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

    image

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

    image

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

    image

    切换回master分支下

    image

    将web仓库上的数据取到本地的master分支上(默认产生的主分支),这个需要输入你在京东注册时,输入的用户名和密码

    ,如果觉得每次都要输入很麻烦可以

    1、新建一个名为_netrc的文件,文件内容如下

    machine code.jd.com  #服务器地址

    login 111111  #用户名

    password 1111  #密码

    2、将该文件放到一个不含有空格的路径下如D:code,而D:Program Files (x86)则是非法的,含义空格

    3、新建一个名为HOME的环境变量,密码用户名文件所在的路径。

    这样以后就不用输入密码了

    image

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

    image

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

    image

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

  • 相关阅读:
    POJ 2175 Evacuation Plan 费用流 负圈定理
    POJ 2983 Is the Information Reliable? 差分约束
    codeforces 420B Online Meeting
    POJ 3181 Dollar Dayz DP
    POJ Ant Counting DP
    POJ 1742 Coins DP 01背包
    中国儒学史
    产品思维30讲
    Java多线程编程核心技术
    编写高质量代码:改善Java程序的151个建议
  • 原文地址:https://www.cnblogs.com/magicsoar/p/3660379.html
Copyright © 2011-2022 走看看