ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git分布式版本控制系统

2021-06-28 20:34:53  阅读:159  来源: 互联网

标签:gitclient git data 代码 控制系统 Git 提交 root 分布式


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所有的开发人员都得连上SVN服务器才可以写代码
在这里插入图片描述
在这里插入图片描述

分布式就是服务器中的所有代码分布在每一个开发人员的电脑上,这样即使服务器出问题对开发人员也无影响。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GitHub就是一个网站,谁都可以去这个网站托管自己的代码。GitHub可以看做是git以网站形式实现。
Gitlab和GitHub类似,你可以在公司服务器上通过gitlab上搭建一个代码仓库,也是以web页面实现的,这个是针对公司内部的,而GitHub是在互联网上已经做好,对大家提供的。
GitHub和gitlab都是基于git的,都是git的衍生产品。
在这里插入图片描述
在这里插入图片描述

系统自带git。但是建议去官网安装高版本,两台机器都要安装
在这里插入图片描述
在这里插入图片描述

[root@server ~]# rpm -qa curl-devel expat-devel gettext-devel openssl-devel zlib-develexpat-devel-2.1.0-10.el7_3.x86_64
gettext-devel-0.19.8.1-2.el7.x86_64
openssl-devel-1.0.2k-12.el7.x86_64
zlib-devel-1.2.7-17.el7.x86_64
[root@server]# tar xf git-2.26.2.tar.gz -C /usr/src
[root@server]# cd /usr/src
[root@server git-2.26.2]# make configure
[root@server git-2.26.2]# ./configure --prefix=/usr/local/git && make install
[root@server git-2.26.2]# ln -sf /usr/local/git/bin/git /usr/bin
[root@server git-2.26.2]# git --version
git version 2.26.2

在这里插入图片描述

使用者定义:
[root@gitclient ~]# git config --global user.name “chenhy”
[root@gitclient ~]# git config --global user.email “chenhy0128@163.com”
[root@gitclient ~]# git config --global color.ui true
在这里插入图片描述
在这里插入图片描述

[root@gitserver ~]# mkdir git_data.git
[root@gitserver ~]# cd git_data.git/
[root@gitserver git_data.git]# git --bare init
已初始化空的 Git 仓库于 /root/git_data.git/
root@gitclient ~]# ssh-keygen
[root@gitclient ~]# ssh-copy-id root@192.168.200.100
注:服务器是以root用户身份创建登录的git,所以就得用root@IP地址复制,如果以其他身份创建git,就用其他身份@IP地址复制
[root@gitclient ~]# git clone root@192.168.200.100:/root/git_data.git
正克隆到 ‘git_data’…
warning: 您似乎克隆了一个空版本库。
[root@gitclient ~]# cd git_data/
[root@gitclient git_data]# git status

无文件要提交(创建/拷贝文件并使用 “git add” 建立跟踪)
在这里插入图片描述

开发人员的所有代码都是在workspace诞生的,然后通过add提交可以提交到暂存区index(做一个临时的存储),从index可以commit提交到本地仓库(repository),然后就会产生一个代码版本的信息,当然代码也可以直接提交到本地仓库。如果想回到某一个版本你可以从本地仓库checkout回到任意一个版本。如果是多个人联合开发的话那么每一个人都要把代码从本地仓库push到remote(远程服务器上)。然后第二天开发人员从remote拉取(pull)最新的代码。。。

git基本管理
在这里插入图片描述
在这里插入图片描述

[root@gitclient git_data]# touch README
[root@gitclient git_data]# git status

位于分支 master

初始提交

未跟踪的文件:

(使用 “git add …” 以包含要提交的内容)

README

提交为空,但是存在尚未跟踪的文件(使用 “git add” 建立跟踪)
此时代码在workspace中
[root@gitclient git_data]# git add ./*
[root@gitclient git_data]# git status

此时代码已提交到暂存区index中
在这里插入图片描述

[root@gitclient git_data]# git commit -m ‘first’
[master(根提交) f45ccec] first
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
[root@gitclient git_data]# git status
无文件要提交,干净的工作区
此时已经提交到本地仓库
[root@gitclient git_data]# git branch --unset-upstream 如果报错,可以用这条命令修复
[root@gitclient git_data]# git status
在这里插入图片描述

[root@gitclient git_data]# git push root@192.168.200.100:/root/git_data.git
此时已经提交到远程仓库remote
在这里插入图片描述

步骤总结:
在这里插入图片描述

如果修改某一个文件,就可以将指令2和指令3合并,即直接提交到本地仓库
在这里插入图片描述
在这里插入图片描述

已经添加到缓存区删除文件:
在这里插入图片描述

这个只是删了缓存区的,workspace 的没删
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

–hard后面只写前几个字符也可以,不用全写

例:
在这里插入图片描述
在这里插入图片描述

比如今天是六月四号,你已经还原到了一月一号,但是你后悔了,想还原到三月一号的数据,那么对于一月一号来说三月一号就是未来数据
在这里插入图片描述

给94d46起一个标签叫v20190616
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最起码一共得有三个分支:master、dev、test
dev是开发分支,然后每个人从dev上获取自己的分支用来写各自的代码,然后所有人的代码写完之后回向dev上合并,最后确定dev上的代码都没有问题之后会合并到master分支上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:gitclient,git,data,代码,控制系统,Git,提交,root,分布式
来源: https://blog.csdn.net/dilreba/article/details/118311101

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有