手机版
你好,游客 登录 注册
背景:
阅读新闻

Git分布式版本控制工具

[日期:2018-09-15] 来源:Linux社区  作者:1crazygorilla [字体: ]

一、简介

git是一个开源的分布式的版本控制工具,是由linux系统的始祖linus编写完成的,自上线以来,迅速成为最受欢迎的版本控制工具之一。目前许多公司的开源项目都会放在github上。目前常用的版本控制工具还有svn,cvs等。

部分git名词:

  • 工作区
  • 暂存区
  • 分支
  • 版本库
  • 仓库
  • 远程仓库

二、git安装

我使用的操作系统是CentOS6.5,一般情况git是没有安装的,但git的安装非常方便,只需把本地镜像挂载上去,使用yum安装即可

三、git使用

1.创建版本库

首先先建立一个git的工作目录

进入工作目录,执行

git init

生成一个git仓库

你所要管理的代码,文件都应放在git仓库下,不然git无法处理,本例中的git仓库为/root/git_study。

2.git常用操作

新建文件test.txt

2.1、把文件添加到仓库,这里就是把文件从工作区扔到暂存区,通过git status查看当前版本库文件状态信息

git add

把文件提交到当前分支,其实就是把文件从暂存区提交到了当前分支,git commit是把当前所有提交到暂存区的文件全部提交到当前分支,通过git status查看当前版本库文件状态信息

git commit --message "提交的说明信息",message可简写为m

修改test.txt文件,查看当前版本库文件状态信息

根据提示可知文件已经被修改,但暂时未被提交到暂存区,也有提示我们要如何做

查看当前工作区文件的修改

git diff filename>

将当前修改过的版本提交到版本库

那么当前版本库中就有两个版本的test.txt文件,分别是最初创建时提交的版本和后来添加了一句话的版本

查看版本提交日志

git log

这样显示的内容有点多,可以使用以下命令

 git log  --pretty=oneline

这里博主又添加了一个版本到版本库

2.2、版本回退

回退到上一个版本,即add new版本

git reset --hard HEAD^

提示我们已经回退到add new的版本,查看文件内容,发现回退成功,是不是功能很强大

显示用户的操作日志

git reflog

这里第一个字段是commit id,和前边使用git log查出来的一致,这里取得是前几个字符,如果想要回退到哪个操作,可以使用以下命令

git reset --hard commit id

例如再回到add twice版本

查看文件可以发现已经回归到add twice版本

2.3、撤销修改

因为自己一不小心在文件中写了不好的东西,但还未git add ,可以使用以下命令撤销修改

git checkout -- 文件名

git做的很全面,也可以从git status中查看提示进行操作

查看文件可知,已经撤销修改,回退的是最近git commit或者git add时的状态

如果自己已经git add到暂存区,怎么修改?

首先撤回已经提交到暂存区的内容

git reset HEAD 文件名

然后撤回工作区的修改,查看文件已经撤销修改

2.4、删除文件

按照正常的删除文件,直接rm -rf 文件名就解决了

但版本库中还有,如果要删除版本库的文件,使用以下命令并git commit

git rm 文件名

这是查看git status就正常了

这样最近一次的修改会被删除,但依旧可以回到test.txt的其它版本

2.5、远程仓库

我们可以把本地的git仓库关联到远程仓库上,例如github,这是一个免费的远程仓库,当然你也可以自己构建远程仓库,但你要将自己的公钥加到远程仓库中。这里不再赘述。参考以下链接

如何添加公钥到远程仓库

添加远程仓库origin到本地。就是关联远程仓库(将github作为备份)

git remote add origin git@github.com:user/gitname

查看远程仓库

git remote

把本地仓库推送到origin远程仓库的master分支,以下三个操作还是比较重要的,但是由于精力有限,后边再补充吧

git push -u origin master

删除远程仓库origin

git remote rm origin

从远程仓库克隆

git clone git@git@github.com:user/githubname

2.6、分支管理

分支是git的一大特色功能,可以创建不同的分支,开发不同的功能,最后合并到主分支上然后发布,每个分支上互不干扰,既安全有快捷

创建新的分支(默认是在master分支),*标记的是当前所处分支

git branch branchname

切换分支

git checkout branchaname

查看分支

git branch

前面创建分支,切换分支要两步,可以一步完成,创建分支并切换到分支

git checkout -b branchname

删除分支

git branch -d branchname

合并分支,将分支合并到主分支

git merge branchname

后续继续补充

将Git版本号编译进程序  https://www.linuxidc.com/Linux/2018-07/153239.htm
Git的工作模式和工作流程 https://www.linuxidc.com/Linux/2018-05/152154.htm
Git建立远程/本地服务器和Git命令的使用 https://www.linuxidc.com/Linux/2018-05/152153.htm
代码版本控制Git工具使用详解 https://www.linuxidc.com/Linux/2018-04/151973.htm
Git重要概念与常用命令 https://www.linuxidc.com/Linux/2018-04/151810.htm
Git常用命令总结 https://www.linuxidc.com/Linux/2018-04/151809.htm
Git常用命令整理,详细全面 https://www.linuxidc.com/Linux/2018-04/151805.htm
Git实用技巧和命令  https://www.linuxidc.com/Linux/2018-08/153480.htm

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-09/154110.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款