欢迎光临散文网 会员登陆 & 注册

git基本操作

2023-02-16 09:05 作者:bili_39183997178  | 我要投稿

版本控制

版本库

•             版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

•             简单来说,就是为目录打快照。将来可以回到某一个历史记录点。

•             是一个典型的客户端/服务器模型(C/S模型)

•             版本库是版本控制的核心

git

•             是一个分布式的代码管理工具

•             可以是C/S架构,也就是Client/Server

•             只要有适当的权限,每个客户端都可以下载或上传数据到服务器

git的工作原理

•             git重要的三个工作区域:

–            工作区:写代码的目录。就是项目代码存放的目录。

–            暂存区:工作区与版本库之间的缓冲地带。位置是.git/index

–            版本库:工作区快照存放的目录。在工作区下,名为.git的目录

 •             基本的 Git 工作流程如下:

1.          在工作区中修改文件。

2.          将想要提交的更改暂存,这样会将更改添加到暂存区。

3.          提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

hostnamectl set-hostname git
nmcli connection modify eth0 ipv4.addresses 192.168.4.20/24
nmcli connection modify eth0 ipv4.method manual
nmcli connection down eth0
nmcli connection up eth0
echo a | passwd --stdin root
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service

客户端

# 设置使用者的名字和email地址
[root@develop ~]# git config --global user.name zhangzhg
[root@develop ~]# git config --global user.email zhangzg@tedu.cn
# 查看git配置信息
[root@develop ~]# git config --list
user.name=zhangzhg
user.email=zhangzg@tedu.cn
[root@develop ~]# cat ~/.gitconfig

•  使用git

# 初始化git,方法一,通过git创建名为mytest的目录:
[root@develop ~]# git init mytest


初始化git,方法二,对已存在的目录操作:
[root@develop ~]# mkdir myweb; cd myweb
[root@develop myweb]# echo 'Hello World' > readme
[root@develop myweb]# git init

# 查看文件状态
[root@develop myweb]# git status

# 安装中文支持
[root@develop myweb]# yum list | grep zh
[root@develop myweb]# yum install -y langpacks-zh_CN.noarch
# 如果仍然是英文,可以通过以下方式修改:
[root@develop myweb]# localectl set-locale zh_CN.utf8
[root@develop myweb]# reboot


暂存目录下所有文件
[root@develop myweb]# git add .   # 把当前目录所有内容放到暂存区
[root@develop myweb]# git status
[root@develop myweb]# git commit -m "项目初始化"   # 将暂存区数据写入版本库


# 查看版本库(快照),显示详细信息
[root@develop myweb]# git log
commit 70c927dae93dc347a40ddc24d5be7d6a8f9924eb (HEAD -> master)
# 查看版本库(快照),每个快照显示为一行
[root@develop myweb]# git log --pretty=oneline

# 查看版本库(快照),显示更为简单的内容
[root@develop myweb]# git log --oneline
70c927d (HEAD -> master) 增加2.txt
24c555d 增加1.txt
0629cc7 项目初始化

# 还原到版本:24c555d
# --hard丢弃工作区和暂存区文件的改动
[root@develop myweb]# git reset --hard 24c555d# 显示HEAD指针移动历史。HEAD@{0}是当前指针位置,HEAD@{1}是上一次指针位置

[root@develop myweb]# git reflog

# 显示HEAD指针移动历史。
[root@develop myweb]# git reflog

# 查看分支
[root@develop myweb]# git branch 

# 创建名为b1的分支
[root@develop myweb]# git branch b1
# 切换分支
[root@develop myweb]# git checkout b1
# 合并b1分支到master
[root@develop myweb]# git checkout master
[root@develop myweb]# git merge b1 -m "合并b1到master"

# 如果不同分支存在冲突的文件(文件名相同,内容不同),需要手工解决冲突
# 1. 创建b2分支,新建hello.txt文件

# 2. 回到master分支,新建hello.txt文件,内容与b2分支的hello.txt不同
# 3. 合并b2到master将会失败,因为两个分支中的hello.txt内容不同

# 4. 手工修改hello.txt,然后提交

# 查看所有的tag

tag标记

•             可以将某一次提交打标记,以示本提交重要。

•             通常用于将某次提交标记为一个软件发行版本。

[root@develop myweb]# git tag

# 为现在的版本打标记为1.0
[root@develop myweb]# git tag 1.0
# 切换到指定标记1.0
[root@develop myweb]# git checkout 1.0



git基本操作的评论 (共 条)

分享到微博请遵守国家法律