git基本使用

前言

这几天学习了git,颇有感悟,下面是我这几天的收获与大家分享,有什么错误评论区指出

服务端server:192.168.4.100
客户端node1:192.168.4.200

一、git是什么?

git开源的分布式版本控制系统,我的理解是中华上下5千年,使用git你可以看每个朝代的发生故事

二、使用步骤

1.安装配置git

**2台同时做**
yum -y install git //yum安装
setenforce 0
systemctl stop firewalld.service //selinux和防火墙都关
[root@server ~]# git init project --bare //git init 创建仓库 --bare 创建空的
已初始化空的 Git 仓库于 /root/project/
[root@server ~]# ls
anaconda-ks.cfg  project
[root@node1 ~]# git clone root@192.168.4.100:/root/project //从我刚刚的服务器下拉project
正克隆到 'project'...
The authenticity of host '192.168.4.100 (192.168.4.100)' can't be established.
ECDSA key fingerprint is SHA256:oubaGNMV6+zl6Qboiy7e/A1TvPlf2ZjMRApB5EdipRE.
Are you sure you want to continue connecting (yes/no)? yes   //第一次需要密码
Warning: Permanently added '192.168.4.100' (ECDSA) to the list of known hosts.
root@192.168.4.100's password:  //服务端密码
warning: 您似乎克隆了一个空仓库。
[root@node1 ~]# ls
anaconda-ks.cfg  project
[root@node1 ~]# cd project/
[root@node1 project]# ls
[root@node1 project]# ls -a
.  ..  .git
[root@node1 project]# git remote -v //查看服务器信息
origin  root@192.168.4.100:/root/project (fetch)
origin  root@192.168.4.100:/root/project (push)
//使用git前告诉服务器你的信息,随便写
[root@node1 project]# git config --global user.email "lh.com" //你的邮箱
[root@node1 project]# git config --global user.name "lh" //你的姓名
[root@node1 project]# cat /root/.gitconfig //这里能查到你输入的邮箱姓名
[user]
        email = lh.com
        name = lh
//加入测试文件,随意添加
[root@node1 project]# echo "this is test" > test1.txt
[root@node1 project]# ls
test1.txt
[root@node1 project]# mkdir demo
[root@node1 project]# ls
demo  test1.txt
[root@node1 demo]# cp /etc/passwd .
[root@node1 demo]# ls
passwd
[root@node1 demo]# cd ..
[root@node1 project]# 

[root@node1 project]# git status //查看git状态,这里发现文件没有备份
位于分支 master

尚无提交

未跟踪的文件:
  (使用 "git add <文件>..." 以包含要提交的内容)
        demo/
        test1.txt

提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
[root@node1 project]# git add .   //将文件提交缓存区 .当前目录
[root@node1 project]# git status //再次查看,发现已经提交
位于分支 master

尚无提交

要提交的变更:
  (使用 "git rm --cached <文件>..." 以取消暂存)
        新文件:   demo/passwd
        新文件:   test1.txt
[root@node1 project]# git commit -m "one"   //文件备份到本地仓库 -m "这里是注释"
[master(根提交) 49a961d] one
 2 files changed, 23 insertions(+)
 create mode 100644 demo/passwd
 create mode 100644 test1.txt
[root@node1 project]# git push    //将本地数据推送给git服务器
root@192.168.4.100's password: 
枚举对象: 5, 完成.
对象计数中: 100% (5/5), 完成.
使用 4 个线程进行压缩
压缩对象中: 100% (3/3), 完成.
写入对象中: 100% (5/5), 752 字节 | 752.00 KiB/s, 完成.
总共 5(差异 0),复用 0(差异 0),包复用 0
To 192.168.4.100:/root/project
 * [new branch]      master -> master


[root@node1 project]# git remote -v //查看服务器信息 这里origin是服务器名字
origin  root@192.168.4.100:/root/project (fetch)
origin  root@192.168.4.100:/root/project (push)
[root@node1 project]# git push origin //指定上传给origin,一般默认是origin
root@192.168.4.100's password: 
Everything up-to-date
[root@node1 project]# 

[root@node1 project]# git reflog //查看日志 
49a961d (HEAD -> master, origin/master) HEAD@{0}: commit (initial): one //这个one就是我的上传注释 这个49a961d就是我的版本号

2.使用HEAD指针

再这之前我任意加入数据并且上传,在这里我总共上传了4次,所以有4个版本号,那么问题来了,我该如何回到过去了?

[root@node1 project]# git reflog 
e5eb9fb (HEAD -> master, origin/master) HEAD@{0}: commit: 4
7dcc44f HEAD@{1}: commit: third
83b57cf HEAD@{2}: commit: first
49a961d HEAD@{3}: commit (initial): one
[root@node1 project]# ls
4.txt  demo  test1.txt  test2.txt  test3.txt

发生了什么?我怎么突然回到第一次遇见你的地方?
在这里插入图片描述
这个就是指针
git reset --hard 如图我指到第一次那个49a9那个版本,所以我回到了哪里
注意:你可以任意移动指针到任意版本,但是,最后一定要回到最新版本
你可以穿越时空,但是不可以篡改历史!
在这里插入图片描述
所以我又回来了

3.使用分支

场景:windows开发windows12 这个时候就可以分一个分支出来
首先建立user1分支用来开发Windows12
git branch 分支名 建立分支
git branch -v 查看分支信息
这个时候2个分支都指向e5eb这个版本
在这里插入图片描述
这里我去user1去开发windows11,发现回到mster分支并没有影响
在这里插入图片描述
把user1分支Windows11的数据拉回master版本
在这里插入图片描述
这里我就完成了开发,并且没有影响master分支

4.git免密登录

在前面我们可以看到使用git需要密码这里密码是ssh,所以我们只要ssh免密登录就不需要输入密码
首先建立一个新的仓库demo1

[root@server ~]# git init --bare demo1
已初始化空的 Git 仓库于 /root/demo1/

node1机器设置免密
在这里插入图片描述

[root@node1 ~]# git clone root@192.168.4.100:/root/demo1
正克隆到 'demo1'...
warning: 您似乎克隆了一个空仓库。

在上传也不要密码
在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了git的使用,今后也要认真学习哦

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值