前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >版本控制-git的使用

版本控制-git的使用

作者头像
magicsoar
发布2018-02-06 10:52:18
1.1K0
发布2018-02-06 10:52:18
举报
文章被收录于专栏:magicsoarmagicsoar

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

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

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

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

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

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

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

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

一、什么是git

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

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

二、git的安装

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

第一步 在官方网站上下载

image
image

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

image
image

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

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

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

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

image
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安装位置\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)

image
image

切换到test文件中(cd test)

新建了一个git库(git init)

image
image

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

image
image

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

image
image

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

image
image

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

image
image

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

image
image

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

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

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

image
image

查看提交历史(git log)

发现已有两个记录

image
image

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

image
image

切换到first(git checkout aa3975)

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

image
image

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

image
image

将代码备份到服务器端

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

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

注册一个用户

image
image

登陆

image
image

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

image
image

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

image
image

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

image
image

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

image
image

切换回master分支下

image
image

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

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

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

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

login 111111  #用户名

password 1111  #密码

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

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

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

image
image

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

image
image

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

image
image

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档