git笔记

文章整理自哔哩哔哩:
一小时Git教程
在这里插入图片描述

01 版本简介

查看git 版本
git -v
优化配置
posh -Git

02 初始化配置

在这里插入图片描述

在这里插入图片描述
git config --global credential.helper store 是一个 Git 命令,用于配置 Git 存储凭据的方式。

03 新建仓库

Repository简称Repo
创建仓库两种方式:
git init 和 git clone
在这里插入图片描述
在这里插入图片描述

04 工作区域和文本状态

在这里插入图片描述
在这里插入图片描述

05 添加和提交文件

git add *.txt
git log --oneline //简洁提交记录
在这里插入图片描述

git reset 回退版本

在这里插入图片描述
在这里插入图片描述

07 使用git diff查看差异

在这里插入图片描述
git diff 查看工作区和暂存区之间的差异
git diff HEAD 查看工作区和版本库之间的差异
git diff --cached 查看暂存区和版本库之间的差异
git diff 哈希值1 哈希值2 查看两个版本之间的差异
在这里插入图片描述
在这里插入图片描述
git ls-files 查看暂存区的内容

08 使用git rm删除文件

在这里插入图片描述

09 .gitignore忽略文件

在这里插入图片描述
匹配规则:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 注册gitHub账号

11 .SSH配置和克隆仓库

https和ssh区别

HTTPS开头的这种方式在我们把本地代码push到远程仓库时,需要验证用户名和密码
SSH不需要验证用户名和密码,但需要在GitHub上添加SSH公匙的配置

查找本地是否有.sh目录
ll -d ~/.sh列出当前用户主目录下的 .ssh 目录的详细信息
-d 选项告诉 ll 命令仅列出目录本身
切换到.sh目录/生成公匙

`ssh-keygen` 是一个用于生成新的SSH密钥对的工具。SSH(Secure Shell)是一种加密网络协议,用于安全地访问远程计算机。以下是 `ssh-keygen` 命令的一些参数解释:

- `-t`:指定密钥类型。在这个例子中,`-t rsa` 表示生成的密钥类型是RSA。
- `-b`:指定密钥的位数。`-b 4096` 表示生成的密钥将具有4096位的长度。

当你执行 `ssh-keygen -t rsa -b 4096` 命令时,系统将引导你完成以下步骤:

1. **选择密钥保存的位置**:系统会询问你想要将密钥保存在哪个文件中。如果你没有指定文件名,它默认会保存在 `~/.ssh/id_rsa`。

2. **输入密码短语**:系统会询问你是否要为这个密钥设置密码短语。密码短语提供了额外的安全层,每次使用密钥时都需要输入这个密码短语。

3. **确认密码短语**:如果你设置了密码短语,系统会要求你再次输入以确认。

4. **生成密钥**:系统将生成一对密钥,包括私钥和公钥。私钥是保密的,不应该分享给任何人。公钥可以安全地分享给需要你安全访问的服务器。

生成的密钥对可以用于SSH无密码登录,通过将公钥添加到远程服务器的 ~/.ssh/authorized_keys 文件中,你可以实现无密码登录到该服务器。4096位的RSA密钥提供了比默认的2048位更强的安全性。
在这里插入图片描述
上一步操作如果生成指定目录,需要使用tall -5 config查看生成的配置文件,如果没有配置文件,创建文件并将下面五行命令添加到文件中。

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github

在这里插入图片描述
在这里插入图片描述

11 关联本地仓库和远程仓库

//push an existing repository from the command line
git remote add origin git@github.com:cuinibox/test_repo.git
git branch -M main  //-M表示move/rename可以修改分支的名字
git push -u origin main
//create a new repository on the command line
echo "# test_repo" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:cuinibox/test_repo.git
git push -u origin main:main  //-u 表示upstream  <远程仓库名> <远程分支名>:<本地分支名>

git remote -v //显示 Git 仓库配置的远程仓库列表以及它们的 URL
在这里插入图片描述
在这里插入图片描述

13 Gitee的使用和GitLab本地化部署

在这里插入图片描述

  • gitlab私有化部署

14 GUI工具

15 在VSCode中使用Git工具

git中起启用vscode code .

在这里插入图片描述

16 分支简介和基本操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
git版本在v2.23版本新增git switch切换版本

16.1合并举例

把dev分支合并到main分支:

1、git switch main //切换到main分支
2、git merge dev   //dev将要合并的分支

16.2查看分支图

1、git log --graph --oneline --decorate --all//查看分支图

16.3 删除分支

git branch -d dev // -d参数表示已经完成合并的分支

git branch -D dev // -D参数表示强制删除分支

在这里插入图片描述

17 解决合并冲突

在这里插入图片描述

18 回退和rebase

18.1 Merge操作

在这里插入图片描述

18.2 rebase操作

在这里插入图片描述

18.3 alias操作

在计算机编程和命令行界面中,alias 是一个用于创建命令别名的机制,这样你可以给一个较长的命令或者一系列命令组合指定一个简短的名字。这可以提高效率,特别是对于那些经常使用的复杂命令。
在不同的 shell 和操作系统中,alias 的用法可能会有所不同,但基本概念是一致的。以下是一些常见的 alias 用法示例:

  1. 创建别名
    在 Bash 或 Zsh shell 中,你可以使用 alias 命令来创建别名:

    alias ll='ls -l'
    

    这将创建一个名为 ll 的别名,当你在终端输入 ll 时,实际上会执行 ls -l 命令。

  2. 查看所有别名
    要查看当前所有的别名,可以使用:

    alias
    
  3. 持久化别名
    别名在 shell 会话中是临时的,当你关闭终端或注销时,别名会失效。要使别名持久化,你需要将别名命令添加到你的 shell 配置文件中,如 .bashrc.zshrc

    echo "alias ll='ls -l'" >> ~/.bashrc
    

    然后,你需要重新加载配置文件,或者重新启动终端。

  4. 删除别名
    如果你想要删除一个别名,可以使用 unalias 命令:

    unalias ll
    
  5. 使用别名执行多个命令
    别名也可以用于执行多个命令。例如,创建一个别名来清空临时文件夹并列出其内容:

    alias cleanup='rm -rf /tmp/*; ls /tmp'
    
  6. 使用别名传递参数
    别名可以接受参数,就像普通命令一样:

    alias grep='grep --color=auto'
    grep "pattern"
    
  7. 别名的优先级
    在某些情况下,别名的优先级可能低于某些命令选项或脚本中的命令。例如,如果你创建了一个别名 ls='ls -l',但是直接运行 ls -l 时,-l 选项会覆盖别名定义的 -l

请注意,别名是 shell 特定的功能,不是所有命令行界面都支持。在使用别名时,要考虑到它们可能不会在所有环境中有效,特别是在脚本中或者当使用不支持别名的 shell 时。
在这里插入图片描述

18.4 回退操作

git rebase回退操作

18.5 rebase和merge有什么区别该如何区别使用?

18.5.1 merge

优点:不会破坏原分支的提交历史,方便回溯和查看
缺点:会产生额外的提交节点,分支图比较复杂

18.5.2 rebase

优点:不会新增额外的提交记录,形成线性历史,比较直观和干净;
缺点:会改变提交历史,改变了当前分支branch out的节点。避免在共享分支使用。

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值