git基础讲解

git基础

安装git

Windows

官网:https://git-scm.com/(很慢)

国内镜像:https://registry.npmmirror.com/binary.html?path=git-for-windows/v2.45.1.windows.1/

进入链接,一般选择 Git-2.45.1-64-bit.exe
点击安转包一路next,即可

Linux安装

# Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。
yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel
  
#下载git
yum update
yum  install -y git
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev
apt-get install -y git

配置

git config --global user.name "设置用户姓名"
git config --global user.email "邮箱"
#查看姓名、邮箱信息
git config --global user.name
git config --global user.email

#查看所有配置信息
git config --list
git config --system --list
git config --global --list
git config --local --list

设置常用命令别名

先在用户目录创建一个.bashrc文件

touch ~/.bashrc

在.bashrc文件中输入如下:

输出用户提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
用于输出当前目录所有文件及基本信息
alias ll='ls -al'

获取本地仓库

任意位置创一个文件夹

进入文件夹执行

git init

即可创建一个本地仓库(本质上就是创建了一个.git的隐藏文件)

基本操作

image-20240520112521975

查看修改状态

git status

查看(暂存区、工作区)修改状态

添加到暂存区

git add 单个文件名\通配符
git add . //将当前目录所有修改加入暂存区

提交暂存区到本地仓库

git commit -m '注释内容'

版本回退

只要历史日志还在,即可任意切换版本

git reset --hard commitID

commit ID可用git-log或git log查看

如果clear了记录

可通过:

git reflog //查看历史记录

可查看删除的提交的记录

添加文件至忽略列表

当在该目录下,有的文件不想被git所管理时

可以添加一个名为.gitignore的文件

把不想被管理的文件列出即可。

branch分支

基本操作

git branch //查看分支
git branch -vv  //查看分支详情
git branch -r //查看远程分支列表
git branch  -a //查看所有分支(包括本地分支和远程分支)

git branch "分支名" //创建新分支
git checkout 分支名 //切换

#还可以直接切换到一个不存在的分支(即自动会创建)
git checkout -b 分支名

# 修改分支名
git branch -m "原来名" "修改名"

合并分支

一个分支上的提交可以合并到另一个分支

一般合并分支时,会添加–no-ff //作用时禁止快进是合并

详细请看这里Git 合并时 --no-ff 的作用-CSDN博客

git merge --no-ff '分支名'  #推荐

命令:

git merge 分支名成

删除分支

不能删除当前分支,只能删除其他分支

git branch -d b1 //删除分支时需做检查
git branch -D b1 //强制删除,不做检查

远程分支

git fetch #获取远程所有的最新信息,包括各个分支的更改
git merge origin dev #将远程的dev分支合并到当前本地分支


git push --set-upstream origin dev:dev  #将本地dev分支的内容合并到远程dev分支,并且将本地dev分支与远程仓库的dev分支建立关系

解决冲突

当两个分支上对同一个地方进行修改,就有可能造成冲突;

解决冲突步骤:

  1. 处理文件冲突地方[需要手动解决]
  2. 将解决完冲突的文件存入暂存区
  3. commit提交到仓库

工作常见规范

  • master:主分支
  • develop:开发分支
  • feature:

从devolop创建的分支,开发分支,开发完合并到devolop分支上

  • hotfix:

从master分支派生出来的,一般作为线上bug修复作用,修复完成后,直接与master分支合并

其他分支:test等等

image-20240520175639732

连接github或其他仓库

生成秘钥

ssh key

#生成ssh key
ssh-keygen -t rsa
ssh-keygen -t rsa -C "1343744987@qq.com"//github办好固定的邮箱
#获取ssh key
根据返回存放key的路径去找公钥
#复制公钥,粘贴到github相应位置

#检查连接
ssh -T git@github.com

添加远程仓库

复制github仓库SSH链接

git连接:

git remote add <远程名称> <仓库路径>
即:git remote add origin 链接  //origin为规范名称
  • 查看远程仓库
git remote
  • 推送到远程设备
完整:
git push [-f] [--set-upstream] [远程名称] [本地分支名称]:[远端分支名称]
//-f 为强制覆盖

#一般:
git push origin master

git push --set-upstream origin master //将master与origin相关联;之后可以直接 git push即可
#--set-upstream建立与远端分支的关联关系

clone远程仓库

如果有一个远程仓库,我们可以直接clone到本地

  • 命令
git clone <仓库路径/链接> [本地目录]  //本地目录为clone的位置;省略则为自动生成一个目录

git clone 与git pull区别

git clone

只要知道远程仓库网址即可clone,不需与之连接。

不需要提前创建仓库;在clone时会完整复制一个链接的仓库

git clone 一般时在第一次从远程仓库获取代码时使用

git pull

一般,git pull 用于更新本地仓库中的代码;会将远程仓库最新更改与我本地当前分支中;

git pull 需在我当前已有一个本地仓库,并且与远程仓库已连接的情况下;我想同步远程仓库的最新修改,就用此命令。

打标签发布

tag 中文我们可以称它为 标签。

简单的理解,tag 就是 对某次 commit 的一个标识,相当于起了一个别名。
例如,在项目发布某个版本的时候,针对最后一次commit 起一个 v1.0.100 这样的标签来标识里程碑的意义。
相关操作

#查看标签
git tag/git tag -l/git tag --list
#查看指定标签提交说明
git show 标签名

创建标签:

# 创建轻量标签
git tag 标签名
git tag 标签名 指定版本
#创建附注标签
git tag -a "标签名" -m "附注信息"
git tag -a "标签名" 指定版本 -m "附注信息"

删除标签

git tag -d 标签名

push到远程仓库

git push origin 标签名
# 推送所有标签
git push origin --tags

对于tag相关,更详细的可以看这个链接:https://blog.csdn.net/qq_39505245/article/details/124705850

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值