git的使用

一. 版本控制

1.本地版本控制

集中化版本控制(svn)--解决多人协同开发
单点故障,服务器宕机问题,导致客户端无法提交代码。如果服务器磁盘发生故障,备份不够及时,就会有丢失数据的风险
服务端可以有不同版本

2.分布式版本控制 (git)

服务端可以有不同版本,客户端本地仓库都可以有不同版本,避免单点故障,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复,因为每一次的提取操作,实际上都是一次对代码仓库的完整备份

二. 安装与配置

安装

Debian/Ubuntu Git 安装命令为:

apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \libz-dev libssl-dev
apt-get install git
git --version
#git version 1.8.1.2
如果你使用的系统是 Centos/RedHat 安装命令为:
yum install curl-devel expat-devel gettext-devel \openssl-devel zlib-devel
yum -y install git-core
git --version
##git version 1.7.1
yum install curl-devel expat-devel gettext-devel \openssl-devel zlib-devel
yum -y install git-core
git --version
#git version 1.7.1
源码安装

我们也可以在官网下载源码包来安装,最新源码包下载地址:https://git-scm.com/download
安装指定系统的依赖包:

########## Centos/RedHat ##########
yum install curl-devel expat-devel gettext-devel \openssl-devel zlib-devel
########## Debian/Ubuntu ##########
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \libz-dev libssl-dev

解压安装下载的源码包:

$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

配置

git version #查看安装版本
git config --global user.name "your_username" #设置对应用户名和邮箱
git config --global user.email your_email@domain.com git config --list #查看所有配置

Windows 平台上安装

安装包下载地址:https://gitforwindows.org/
官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/。

三. git 文件的三种状态

已提交(committed):表示已经安全保存在本地版本数据库中
已修改(modified):表示修改了文件,这时保存在磁盘中,还没保存到本地版本数据库中
已暂存(staged): 表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中

四. 三个工作区域:

工作区:自己创建的本地项目目录
暂存区:add 缓存区
git仓库:commit (隐藏文件.git)

五.创建版本库并提交

git init #初始化本地仓库
git status #查看文件当前git状态
git add 文件名 #将文件加入暂存区
git add .
git commit 文件名 -m “注释说明” # 将文件提交到仓库
git push #提交到仓库
git remote add origin https://gitee.com/luo_lucky/code.git git push -u origin master
#推送仓库
git push -u 文件名 "master"
git ls-files 查看git仓库里面的文件 git log 文件修改日志

六 . 版本切换

git diff HEAD -- 文件名 #文件差异比较
git log -- pretty=oneline #简化提交日志输出(提交日志hash值 HEAD 指针指向说明)
git reset --hard HEAD^(几个^ 就表示回退到上几个版本) #回退文件到指定版本
git reset --hard~100 #回退到100个版本前
git log -- pretty=oneline #回退到最初的版本
git reset --hard git 提交标识号(版本的hash值 5-8个字符) #回到之前/未来的版本

遇到问题:如果回退到之前的某一个版本直接关闭了git命令窗口,怎么样才能回到未来最新的版本喃?
解决方法:

git reflog #用来记录原来操作的命令 可查看最新版本的标识id

七. 文件删除

git checkout -- 文件名 #文件本地误删,从版本库检出
git rm 文件名 #删除版本库里的文件
git clone https://github.com/tianqixin/runoob-git-test (克隆) #下载远程仓库库代码文件到本地(从现有 Git 仓库中拷贝项目)

八. 本地仓库文件推送到github

本地生成ssh公钥和私钥

ssh-keygen -t rsa -C "自己的git邮箱"

2,生成成功后找到.ssh 文件里面生成的公钥和私钥
3,将公钥上传到github
4,校验ssh环境

ssh -T git@github@com

5,执行ssh推送,首先绑定远程地址到本地执行命令

git remote add origin git@github.com:zsyeg/git01.git

6.本地创建分支

git branch -M main

7.执行远程推送操作,将本地库推送到远程master主分支

git push -u origin master

九. git 本地分支操作

git checkout -b leaf01 #创建并切换分支
git branch #查看所有分支
git checkout main # 切换到main分支
git merge leaf01 #在主分支上合并leaf01
git branch -m leaf01 leaf01-01 #重命名分支
git branch -d leafo1-01 # 在主干上生成分支

十. 远程分支操作

git branch -a #查看本地和远程分支
git push origin leaf01 #把本地仓库推送到远程仓库
git chechout -b leaf01 origin/leaf01 #拉取远程分支并在本地创建分支
git push origin :leaf01 #删除远程分支

本地分支的文件冲突

不同分支合并文件冲突(视情况而定)

1,在文件中解决冲突的地方
2,在主分支上提交文件 git add , git commit

对人协同操作冲突--在同一分支上操作文件修改

git push #将本地客户端文件推送到远程仓库
git pull #拉取远程代码(此时会出现冲突场景)

1.找到冲突文件,解决文件冲突错误(视情况而定)
2,提交文件 git add , git commit

十一. 标签基本操作管理

git tag v-0.1 #创建标签
git push origin v-0.1 # 推送本地标签到远程(此时远程仓库有个v-0.1标签压缩包)
git tag -a v_0.2 -m "描述" # 添加带描述的标签
git push tag -a v_0.2 -m "描述" # 推送 ( 此时远程仓库有个带描述的 v-0.2标签压缩包)
git push origin --tags #推送全部未推送到远程的标签
git tag -d v_0.3 #删除本地标签
git tag #查看所有标签
git push origin :refs/tags/v_o3 #删除远程标签
posted @   lucky星星糖  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示