当前位置: 首页 > news >正文

Git 使用说明和配置

前言
不会Git操作的伙伴,轻则写不了代码,重则误操作搞丢自己的代码或者干掉别人的代码。 因为进入公司后,就不只是你一个人在一个工程上写代码,而是所有这个项目组的伙伴都需要在这个工程上写代码,大家要在统一的Git的规范完成代码开发和提交。
软件安装
Git 是一个软件工具,在使用前需要进行安装。
下载地址
linux下安装
Debian/Ubuntu

# apt-get install git

对于 Ubuntu,此 PPA 提供最新的稳定上游 Git 版本

# add-apt-repository ppa:git-core/ppa
# apt update; apt install git

Centos

sudo yum install git

配置账户
当你拿到一个Git的仓库(Github、Gitcode、Gitee、GitLab),让你克隆(git clone)代码的时候,不要虾呵呵的上去就点个zip下载。
在这里插入图片描述
zip 下载的代码,只是当前分支的,下载后用 IntelliJ IDEA 打开也没有 Git 标识,不能进行仓库的pull、push、checkout等操作。
ps:你要做都是配置账户 ssh 秘钥,或者下载的时候输入 git 仓库账号密码(目前很多仓库为了安全,不在支持账号密码方式下载代码了。)
在这里插入图片描述
配置git账户

[root@lavm-aqhgp9nber ~]# git config --global user.name "liming"
[root@lavm-aqhgp9nber ~]# git config --global user.email "2557530647@qq.com"

创建ssh秘钥

[root@lavm-aqhgp9nber ~]# ssh-keygen -t rsa -C "2557530647@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:lgf+3a1srOvDD0znv+/jiR3iwMaZtxW94k9FI1HzJAk 184172133@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|            Eoo+.|
|              ooo|
|        .    . .o|
|       . o    ..o|
|        S . . ..o|
|       . oo+o+ .+|
|          .O+=o=.|
|          . Bo@+o|
|           .+@*BB|
+----[SHA256]-----+

命令:ssh-keygen -t rsa -C “2557530647@qq.com”
操作:一路敲回车同意就可以了。
获取ssh秘钥

$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvwIa4clDmLOY2uM3806ZZ+eyuuvqyNcXX3B+t7rneqcIQ5FpNjJ4AAUXaBUdGo4Rp93/lb9AlY9s5M13JeTCwp3mw4efGzssQCpqm0HauTptqjKeEqxsdreQ+6lY69pbC2+egut/MFblPQOcpCIAg4q8XumqJrtphb+s52wX5p9+8RJq24B3RM/BCymUWx0ZUrJlz0HPxYVrN8kWZudQ+Gf+JN+TN3CeNrYG2gicDMljxzfXwX0EblnuZicByuXwfoBait+NZtJGlmh0lyKnWzeX4/atLHZUx8N3NeC6oxkpVct6fnrNFekOn2QnJrJZqsWeABNhgPZvgdOFxB9cJ CSDN_LiMingfly@noreply.gitcode.com

命令:ssh-keygen -t rsa -C “2557530647@qq.com”
注意:.ssh 点开头的文件夹是隐藏文件,Windows/Mac 都可以设置查看隐藏文件。Windows 是设置里配置,Mac 是通过 Shift + Command + . 开启和关闭查看隐藏文件。

配置ssh秘钥
1:gitcode.net配置

配置密码地址
在这里插入图片描述:2:github.com配置
配置地址

在这里插入图片描述

检出代码 - 命令
大家会说检出代码,不会说下载。因为检出对应的是 git clone 命令,而下载是 http 直接点击链接。在我们使用一些图形化的 git 界面操作代码检出的时候,走的也是 git clone 命令。
检出地址

在这里插入图片描述
检出命令
默认检出(master)

git clone git@github.com:liming/openai-code-review.git

你可以复制你需要的工程地址进行检出。
指定分支

git clone -b lm-init-project git@github.com:lm/openai-code-review.git

添加 -b 分支名,可以指定分支名称检出
其他命令
git branch:查看当前工程分支
git branch -r:查看远程分支列表
git pull:拉取分支最新代码
git push:推送本地变更的代码。【这样的操作有图形化界面,更方便】
git fetch:后去远程仓库最新分支变动,这个很有用。在你想操作分支创建新或者看其他人的分支时候,先操作下 git fetch 看下最新的分支变动。
git merge origin/master:将远程分支的 master 代码合并到本地分支 master 上。【类似这样的操作有图形化界面,点击即可】

检出代码 - IntelliJ IDEA
IntelliJ IDEA 本身就提供了 Git 的图形化操作,也是最简单最常用的方式。只要你的代码是通过 Git 检出的,那么通过配置 Git 的 IntelliJ IDEA 打开工程,就会自动的被 Git 管理。

配置 Git

在这里插入图片描述
像是 Mac 电脑会自动默认的配置好 IntelliJ IDEA Git 直接使用即可,如果你的电脑在 IntelliJ IDEA 打开工程后,提示没有 Git 则可进入设置手动配置。

检出代码
方式1;打开工程前

在这里插入图片描述
方式2;打开工程后

在这里插入图片描述
图形界面
1:分支使用

在这里插入图片描述
2:提交代码

在这里插入图片描述
3:查看记录

在这里插入图片描述
4:查看对比

在这里插入图片描述
这个代码对比非常适合代码评审,也可以用于自己学习代码。可以知道任意两个分支的代码差异,也就知道了代码上一次是什么样,这一次是做了什么开发。
5:合并分支
在公司中很多时候是大家一起在一个工程开发代码,那么这个时候就会涉及合并代码的。如果有多人共同开发一个接口方法,就会在合并的时候产生冲突。所以要特别注意。

注意,📢在Git中,merge和rebase是两种用于合并分支变更的方法。每种方法都有其特定的用途和行为:
Merge

概念: merge命令用于将一个分支的更改合并到当前分支,通常会生成一次新的合并提交(commit),从而保留分支历史。
历史记录: 使用merge会保留所有开发历史记录,包括分支点,这使得历史记录图呈现出一个分叉和合并的树状结构。
使用场景:
当你想保留完整的历史记录,了解如何以及何时进行了分支。
通常用于将分支合并到主分支(如main或master)时,以保留分支的历史上下文。

git checkout main
git merge feature-branch

Rebase

概念: rebase命令用于重新定位一系列的提交,可以将分支上的更改申请到另一分支的顶端,因而能得到更线性的历史。
历史记录: Rebase重新写了提交历史(改变了提交的父提交),这会导致更线性的提交历史,从而更清晰,但会丢失分支合并信息。
使用场景:
当你希望提交历史更加简洁和线性。
合并特性分支到主分支前用以避免杂乱的分支合并历史。
需要小心在共享分支上使用,因为重写的提交历史会影响他人。

git checkout feature-branch
git rebase main

选择何时使用
Merge适合用于保持完整的提交历史,不改变现有提交的哈希。
Rebase适合用于清理提交历史,通常在提交尚未推送至共享存储库时使用。

普通合并

在这里插入图片描述
在实际的开发中,大家承接新的需求,会从master拉一个新的分支。拉取后,开始编写代码,完成开发后提交。
之后切换到master分支,通过把自己的开发的分支合并回master分支进行提交。
冲突合并

在这里插入图片描述
回滚分支
回滚提交和回滚push

在这里插入图片描述
虽然 Git 提供了回滚代码的功能,但一定要谨慎使用。怎么谨慎?第一个谨慎就是 push 的代码一定确保可以构建和运行,否则不要 push!第二个谨慎是要回滚代码,需要和团队中对应的伙伴打招呼,避免影响别人测试或者上线。

在这里插入图片描述
1:先选择要在哪个分支的哪次提交上进行回滚。这里选择的是 test 分支上的提交进行回滚。
2:这里选择 Hard 回滚。因为我们所有的都是合并到 test 分支,所以 test 分支丢失也没问题。可以重新合并。但要和同组伙伴提前说明。
3:回滚后,你会看到代码只剩下从回滚往下的提交内容了。
4:回滚后,你不能直接 push 提交了,这个之后会报错;fast-forward 因为此时本地分支落后于远程分支。
5:所以要通过 git push origin HEAD --force 进行强制提交。或者你可以把 test 的远程分支删掉,之后在提交。
提交工程 - IntelliJ IDEA
创建本地仓库

在这里插入图片描述
Create Git repository 创建一个本地的暂存库。你可以把开发的内容暂时提交到本地仓库中。

提交本地代码
在这里插入图片描述

创建远程仓库

在这里插入图片描述
推送本地工程

在这里插入图片描述
最后推送完成就可以看到自己的代码进入仓库中了!

好了 至此 Git 使用说明和配置 点点关注不迷路 老铁们!!!!!

相关文章:

  • Logo语言的在线课程学习
  • 机器学习(神经网络基础篇)——个人理解篇5(梯度下降中遇到的问题)
  • VSCode中Marp插件
  • 爱舍伦外销模式超七成依赖单一客户:毛利率承压,研发费用率远弱同行
  • 大数据学习(99)-CDH组件详解
  • Python星球日记:第10天 - 模块与包
  • 视频分析设备平台EasyCVR打造汽车门店经营场景安全:AI智慧安防技术全解析
  • 瑞芯微RK3568嵌入式AI项目实战:项目方向(三)
  • 最近你学到了或者悟到了什么?
  • STL_vector_01_基本用法
  • OpenCV--图像轮廓检测
  • 状态空间建模与极点配置 —— 理论、案例与交互式 GUI 实现
  • JDY-24M模块基本使用说明(主从透传、MESH组网、BLE等数据传输)
  • 【棒垒球规则】全国幼儿软式棒垒球比赛规则(三)·棒球1号位
  • 2025最新系统 Git 教程(二)
  • 无人机装调与测试
  • 考研单词笔记 2025.04.07
  • DP问题常见模型
  • 深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学
  • 5-树与二叉树
  • 钟睒睒:不反对代工,但农夫山泉目前所有产品是无法代工的
  • 菲律宾华人“钢铁大王”撕票案两主谋落网,部分赎金已被提取
  • 受工友诱骗为获好处费代购免税品,海口海关:两当事人被立案
  • 欧洲观察室|“美国优先”使欧盟对华政策面临地缘经济困境
  • 以色列媒体:以总理称将接管整个加沙
  • 四大皆空!赛季还没结束,曼城已经吃上“散伙饭”了