IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 尚硅谷Git笔记 -> 正文阅读

[开发工具]尚硅谷Git笔记

背景

Git版本:2.31.1
视频地址:https://www.bilibili.com/video/BV1vy4y1s7k6

Git命令

基本命令

git config

设置用户签名(--global 可以去掉,去掉的话配置就不是全局的)
git config --global user.name 用户名
git config --global user.email 邮箱 

windows设置完上面的内容,去C盘的与当前windows用户名同名目录下,会有.gitconfig文件,文件内容就是设置的全局用户名、邮箱

git init

初始化git,生成隐藏的 .git 目录

Linux 命令 ll -a 能显示隐藏文件

git status

查看 git 状态

在 git init结果:
On branch master  # 当前分支

No commits yet  # 当前内容还没有提交

nothing to commit (create/copy files and use "git add" to track)  # 有哪些东西可以commit
# 红色的文件表示没有被添加进暂存区,绿色的文件表示已添加

这时候添加一个文件

git add xx

将xx目录、文件添加进暂存区

“git add .” :将此目录下的所有文件都添加到暂存区

git rm --cached xx

将xx目录、文件从暂存区删掉

用于从暂存区中删掉 git add 命令添加进的目录、文件

这个删除只是从git暂存区中删掉,目录、文件的物理实体依旧存在

git commit -m “备注” xx

将xx目录、文件提交到本地库

如果没有给出xx,默认就提交add进暂存区的内容

git reflog

查看引用日志信息,可以看版本信息(精简的版本号,提交备注)

git log

查看更详细的日志信息(完整版本号,提交人,提交时间,提交备注)

git reset --hard 版本号

版本穿梭,到版本号指定的那个版本

版本号就是 git reflog、git log 显示内容中的那串码

用于在同一个分支中切换到不同提交的版本

当合并冲突时,当前分支会变为merging状态,取消merging状态命令 git reset --hard head,这里的head不是版本号,就是head

版本控制

git branch

显示所有分支,当前所在分支前会有星号*

git branch 分支名

创建分支,默认会以当前分支为基础创建,也就是新分支的内容就是当前分支的现有内容

git branch -v

查看当前分支

git checkout 分支名

切换分支

git merge 分支名

把指定的分支合并到当前分支上

远程库操作

git remote -v

查看当前所有远程地址别名

git remote add 别名 远程地址

给“远程地址”起“别名”,别名一般都会是 origin
创建别名后 git remote -v 查看会看到两个,一个用来 fetch 拉取,一个用来 push 推送
注意“远程地址”是github或gitee或gitlab提供的http或https开头的,不是ssh的

git push 别名 分支

推送本地分支上的内容到远程仓库

git clone 远程地址

将远程仓库的内容克隆到本地

git pull 远程库地址别名 远程分支名

将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

其他

指针

HEAD -> 分支名 -> commit提交版本

我们所说的指针都是指向具体版本记录的指针,当前是哪个分支是由HEAD指针决定的,HEAD指向哪个分支指针,我们就在哪个分支上
所以创建分支的本质就是多创建一个指针;切换分支就是把HEAD指向另一个版本指针

冲突

冲突原因

两个分支在同一个文件的同一个位置有两套完全不同的修改,合并的时候Git无法替我们决定使用哪一个,就产生了冲突

冲突合并

在有冲突的时候合并,会提示错误并且当前分支会变为merging状态

撤销冲突状态

当合并冲突时,当前分支会变保持为merging状态
撤销merging状态命令 git reset --hard head,这里的head不是版本号,就是head

查看冲突内容

在分支是merging状态时,打开提示有冲突的文件,会发现这样的内容:

<<<<<<< HEAD
当前分支下的内容
=======
要与当前分支合并的另一分支下的内容
>>>>>>> 另一分支的名字  

解决冲突

  1. 首先要解决冲突的文件内容
编辑提示有冲突的文件内容,将冲突的部分手动解决,保存退出
  1. 添加文件到暂存区
git add 目录或文件名
  1. 最后提交本地库
git commit -m "备注"
注意,这条命令不能在最后带有“目录或文件名”

将所有冲突的内容提交本地库后,就会发现分支的merging状态消失了

本地第一次推送到远程库

背景

本地创建的项目,想推送到自己的远程库
远程库没有对应项目,需要新建

操作

远程:
    新建仓库
    复制仓库地址(http或https开头的,非ssh)
本地:(在项目目录下用git bash操作,默认本地分支是master)
    git init
    git status (非必须,这里就是为了看下git状态)
    git add .
    git branch (非必须,看git分支)
    git commit -m '注释'
    git remote add  远程仓库别名(一般是origin)   远程仓库地址
    git remote -v (非必须,看远程分支)
    git push origin master -f (强制推送,本地会全部覆盖远程,这里只针对远程仓库为空的情况)

如果远程也有内容,即不可以强制push以本地覆盖远程,可参考下面的(本人没试过,不知道效果)
    git branch  本地新分支名
    // 这中间是不是要加一个切换到新分支的过程? “git checkout 本地新分支名”
    git push  远程仓库名  远程分支名

远程库同步.ignore

背景

远程的有些文件或目录想忽略掉,但一开始上传时这些内容都上传到仓库了,现在想根据新的 .ignore 文件 “刷新” 一下远程库,将已经上传的文件从远程库删掉

操作

本地:
    配置 .ignore 文件
    git rm -r --cached .
    git add .
    git commit -m '注释'
    git push 远程仓库别名  远程分支名
    
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:04:10  更:2022-08-06 11:04:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:59:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码