0


版本控制器-git的安装

1.什么是Git

Git是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具

1.2关于版本控制

什么是版本控制?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本文所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。

1.3Git内文件的三种状态

对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。

已提交表示该文件已经被安全地保存在本地数据库中了;

已修改表示修改了某个文件,但还没有提交保存;

已暂存表示把已修改的文件放在下次提交时要保存的清单中。

Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。

1.4Git工作流程

1.在工作目录中修改某些文件。

2.对修改后的文件进行快照,然后保存到暂存区域。

3.提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。

所以,我们可以从文件所处的位置来判断状态:如果是 Git 目录中保存着的特定版本文件,就属于已提交状态;如果作了修改并已放入暂存区域,就属于已暂存状态;如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

已提交(committed):表示数据文件已经顺利提交到Git版本库中。

已修改(modified):表示数据文件已经被修改,但未被保存到Git版本库中。

已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git版本库中。

2搭建Git服务器

2.1环境

2.2软件安装

安装方法有两种:

一、yum命令安装,此方法简单,并且会自动安装依赖的包,而且会从源里安装最新的版本,不过不一定是git最新的。

二、源码安装,这个要比yum方式较麻烦点,不过过程还是比较清晰的,毕竟源码安装也比较普遍了。

本文采用yum方式安装git,操作如下:

[root@cong11 ~]# yum install -y git

[root@cong12 ~]# yum install -y git

查看git版本

[root@localhost ~]# git --version

3 git使用

3.1服务用户创建空仓库

3.1.1创建git账号

[root@cong11 ~]# useradd git

[root@cong11 ~]# passwd git

3.1.2创建版本库

[root@cong11 ~]# su git #切换到git用户

[git@cong11 ~]$ mkdir project.git
[git@cong11 ~]$ ls

project.git

[git@cong11 ~]$ cd project.git/
[git@cong11 project.git]$ git init --bare #初始化仓库
初始化空的 Git 版本库于 /home/git/project.git/

3.2linux客户端初始化测试

3.2.1创建工作目录

[root@cong12 ~]# mkdir git

3.2.2拉取到本地库

[root@cong12 ~]# cd git

[root@cong12 git]# git clone git@192.168.1.11:/home/git/project.git

[root@cong12 git]# ll

total 0
drwxr-xr-x. 3 root root 18 Jun 24 22:31 project

3.2.3给本地新项目添加文件

给project项目添加一个文件

[root@cong12 project]# echo " NO.1">1.thml
[root@cong12 project]# git status

On branch master

Initial commit

Untracked files:

(use "git add <file>..." to include in what will be committed)

1.thml

nothing added to commit but untracked files present (use "git add" to track)

第一次查看,这个文件还没有添加到暂存区的

3.2.4 添加到暂存区

使用git add把新建的文件加到git缓冲区

[root@cong12 project]# git add 1.thml

然后在查看状态

[root@cong12 project]# git status

On branch master

Initial commit

Changes to be committed:

(use "git rm --cached <file>..." to unstage)

new file: 1.thml

有添加,那就有删除

它也提示你了

git rm --cached readme

3.2.5提交到本地仓库

使用git commit把缓存区的文件添加到本地仓库

[root@cong12 project]# git commit -m "NO.1"

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@cong12.(none)')

然后它会提示你设置邮箱和姓名,我们设置一下邮箱和姓名

[root@cong12 project]# git config --global user.email "2890679012qq.com"
[root@cong12 project]# git config --global user.name "lisi"

然后我们重新提交到本地仓库

[root@cong12 project]# git commit -m "NO.1"

[master (root-commit) be1e6d3] NO.1
1 file changed, 1 insertion(+)
create mode 100644 1.thml

3.2.6 git log查看日志

[root@cong12 project]# git log、

commit be1e6d33038e8ccb73875009c1868321ba590891
Author: lisi <2890679012qq.com>
Date: Sat Jun 25 08:16:48 2022 +0800

到目前为止自己本地仓库就提交结束了。之后就是提交到远程仓库

3.2.7 git remote -v查看本地仓库状态和仓库信息

[root@cong12 project]# git remote -v

origin git@192.168.1.11:/home/git/project.git (fetch)
origin git@192.168.1.11:/home/git/project.git (push)

origin表示的是远程仓库的别名,以后提交代码的时候只需要使用origin这个别名即可

3.2.8git push把本地仓库代码推送到远程仓库

[root@cong12 project]# git push origin master

git@192.168.1.11's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 204 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.1.11:/home/git/project.git

  • [new branch] master -> master

上面就是一个标准的代码提交的过程,到此自己创建的文件就推到了远程的git仓库了。

4Git的初始化

4.1git clone git init

git clone: 这是较为简单的一种初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份

例如:

[root@cong12 ~]# mkdir -p /var/www/html //git仓库目录

[root@cong12 ~]# git clone git@192.168.1.11:/home/git/project.git /var/www/html/

说明:'git clone git@192.168.1.11:/home/git/project.git /var/www/html/'命令就是将' git@192.168.1.11:/home/git/project.git '这个URL地址的远程版本库完全克隆到本地/var/www/html/目录下面

git init和git remote:这种方式稍微复杂一些,当你本地创建了一个工作目录,你可以进入这个目录,使用git init命令进行初始化,Git以后就会对该目录下的文件进行版本控制。这时候如果你需要将它放到远程服务器上,此时你就可以利用 git remote add 命令来增加一个远程服务器端,例如' git remote add test ssh://git@192.168.1.11/home/git/project.git '这条命令就会增加URL地址为' ssh://git@192.168.1.11/home/git/project.git ',名称为test的远程服务器,以后提交代码的时候只需要使用test别名即可。

例如:

[root@cong12 ~]# mkdir /git_test

[root@cong12 ~]# git init /git_test //初始化git,指定git仓库路径,同时也是工作目录。

[root@cong12 ~]# cd /git_test/

[root@cong12 git_test]# git remote add test ssh://git@192.168.1.11/home/git/project.git //添加远程库

[root@cong12 git_test]# git remote -v

test ssh://git@192.168.1.11/home/git/project.git (fetch)

test ssh://git@192.168.1.11/home/git/project.git (push)

4.2Git 基本命令

上面都有说过下面就简单了解一下

git pull:从版本库(既可以是远程的也可以是本地的)将代码拉到本地

git add:将所有改动的文件(新增和有变动的)放在暂存区,由git进行管理

git rm:从当前的工作空间中和索引(暂存区)中删除文件

git commit:提交当前工作空间的修改内容到本地仓库

git push:将本地commit的代码更新到远程版本库中,例如'git push origin branchname'就会将本地的代码更新到名为orgin的远程版本库中branchname分支

git log:查看历史日志

标签: 大数据

本文转载自: https://blog.csdn.net/weixin_62399861/article/details/125451916
版权归原作者 胤要努力学习 所有, 如有侵权,请联系我们删除。

“版本控制器-git的安装”的评论:

还没有评论