对新入职的小白非常友好的git安装到命令使用讲解

前言

最近玩 git 命令游戏(Learn Git Branching (gitee.io))的时候想起原来刚刚入职的时候,对 git 命令不熟悉,提交的时候都要让同事看看有没有弄错。于是写下这篇文章。

大多数刚刚入职的人,并不需要将项目部署到 gitee 的操作,更多的是将项目拉下来,然后新建一个自己的分支,然后开发功能,然后合并到主分支上,可能遇到冲突,然后解决冲突即可。

安装 git 并配置环境

第一步

首先我们注册一下 gitee ,登录进去之后,然后让项目负责人把你拉进项目里面。

第二步

然后我们安装 git,地址(Git (git-scm.com)),这个下载对应自己系统的版本,然后一直下一步(next)就好了,安装的路径我觉得可以就按默认的路径即可。可以参考一下这篇博客(Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装_mukes的博客-CSDN博客

第三步

接着我们点开刚刚安装好的 git ,下图这样的窗口。

第四步

然后我们需要做的是初始化,初始化自己的信息。在刚刚打开的黑窗口中配置如下信息

bash 复制代码
# 配置用户名
git config --global user.name "username"    //( "username"是自己的账户名,)
# 配置邮箱
git config --global user.email "username@email.com"     //("username@email.com"注册账号时用的邮箱)

第五步

接着我们回到 gitee , 点击 我的 => 设置 => SSH公钥 ,如下图点击 怎样生成公钥

第六步

然后会新开一个标签页,里面会讲解如何生成公钥,接着按照里面的步骤,复制里面的命令粘贴到 git 黑窗口中。粘贴第一个命令后按三个回车,会出现官方给出的类似的图案,接着按官方给出的步骤操作就行,接着将生成好的公钥复制在上图中的公钥框内,标题的话取一个自己喜欢的名字就好了,然后点击确认,需要进行验证,验证通过即可。

拉取项目

接着在D盘新建一个文件夹,比如命名为 work ,然后进入这个文件夹,然后点击右键,找到 Git Bash Here 点击,会出现一个黑窗口,然后去到 gitee 仓库,找到项目负责人把你拉进的项目,比如类似下图一样,点击克隆/下载会有一个下拉窗,点击SSH,然后点击复制按钮

然后去到刚刚的黑窗口中,输入

bash 复制代码
git clone (刚刚复制的链接)

当项目 clone 下来之后,会在 work 文件夹中生成一个新的文件,这个文件就是刚刚项目负责人拉我们进的项目,然后我们将新生成的文件通过 vscode 打开。然后找到终端, install 项目的包,然后就可以将项目跑起来了。

创建自己的分支与远程仓库相关联

刚刚拉下来的项目,我们可以在 vscode 中的终端的 bash 查看自己所处的分支,一般是 master 分支,这个时候需要问一下负责人需要从哪个分支开始开发,比如说需要从 dev 分支开始开发,那么此时我们回到 gitee 仓库,找到刚刚的项目,点击上图中的分支(在master边上),然后点击新建分支,会出现如下一个弹窗

我们将分支起点切换为 dev 然后给分支名称取一个自己喜欢的名字就好了,建议是英文的,我们以 aaa 为例,然后点击确认按钮,此时,我们在该项目的远程仓库建立了一个分支,但是并未与本地的相关联。然后我们回到编辑器 vscode 中依次输入如下命令

bash 复制代码
// 本地新建一个aaa分支
git checkout -b test_zeo

// 拉去远程分支代码
git pull origin aaa

// 与远程分支相关联(第一个aaa是远程分支名,第二个aaa是本地分支名)
git branch --set-upstream-to=origin/aaa aaa

就这样,本地就新建了一个 aaa 分支与远程仓库的 dev 分支相关联了。如下图所示,然后就可以开始"写 bug 了"。

提交代码以及解决冲突

每个公司可能有每个公司的提交规范,这个可以问问负责人,而我以自己习惯的为例。当我们开发完一个功能(尽量是一个小功能,一小个功能提交一次,方便更改)。在终端的 bash 中输入如下命令

bash 复制代码
// 将代码加到暂存区
git add .

// 将代码提交到本地仓库
git commit -m "2023/12/5 xxx功能完成"

// 将代码推送到自己这个分支相关联的远程仓库
git push

然后问问负责人是否需要将此次功能合并到 dev 分支,我们假设要,不然这文章怎么写下去对吧。然后在终端的 bash 中输入如下命令

bash 复制代码
// 将dev分支代码拉过来
git pull origin dev

// 如果没有冲突
git push

git switch dev

git pull origin aaa

git push

// 如果产生冲突,我们解决完冲突之后(最好再看一下项目还能跑不,功能还在不)
git add .

git merge --continue

git push

git switch dev

git pull origin aaa

git push

// 如果产生冲突了,但是我们不会解决,使用如下命令取消此次拉代码
git merge --abort

cherry-pick 使用场景

某天,你依次开发了10个功能,但是项目第3个功能需要提前上线,你心想,咋操作呢,我现在的分支领先线上版本好几次提交了,低情商回答:我将第3个功能拷贝一份到上线的分支(假设是 master 分支),高情商回答:我 cherry-pick 一下。

bash 复制代码
// 我们处在aaa分支,测试环境分支是dev分支,线上环境分支是master分支
// 查看我们的提交记录,找到第3个功能对应的哈希值并复制
git log -a

// 切换到master分支
git switch master

git cherry-pick (刚刚复制的哈希值)
// 然后跑起来看一下是不是有这个功能了,如果冲突了,我们可以如下命令取消cherry
git cherry-pick --abort
// 然后去解决冲突再去cherry操作

取消 add 或者 commit

有些情况下我们写好了代码,提交了一半但不需要了,如下图是取消 add 操作

bash 复制代码
// 取消上一次commit操作
git reset --soft HEAD^

stash 的使用场景

有时候我在 dev 分支开发了一半功能,负责人说停一下手里的活,测试环境加个功能,你心里mmp,写了这么多代码要还原了?赶紧发挥一下我们的高情商回答:我们进行如下操作将刚刚写的代码隐藏

bash 复制代码
git add .
git stash

然后我们就可以去开发负责人说的功能了,开发完提交上测试之后,我们再展示出前面隐藏的代码

bash 复制代码
git stash pop

版本回退的使用

某个版本上线了,运营那边说,这次上线的功能好像用户使用减少了,这个功能还是砍掉不要了,那我们就进行版本回退的操作

bash 复制代码
// 假如我们在master分支,查看一下提交记录
git log

// 然后回退到指定版本
git reset --hard (哈希值)

总结

git 还有许多命令,有的可能也是经常用的,但我并没有总结出来,欢迎大家私信我或评论区留言建议,如若有错误的地方也欢迎指出。好了,我下班了,谢谢大家的观看。

相关推荐
熬夜学编程的小王3 小时前
C++类与对象深度解析(一):从抽象到实践的全面入门指南
c++·git·算法
课堂随想4 小时前
SHA-1 是一种不可逆的、固定长度的哈希函数,在 Git 等场景用于生成唯一的标识符来管理对象和数据完整性
git·哈希算法
易雪寒6 小时前
IDEA在git提交时添加忽略文件
java·git·intellij-idea
徒步僧8 小时前
mac中文件夹怎么显示.git隐藏文件
git·macos
int WINGsssss1 天前
Git使用
git
用户0760530354381 天前
Git Revert:安全移除错误提交的方式
git
Good_Starry2 天前
Git介绍--github/gitee/gitlab使用
git·gitee·gitlab·github
云端奇趣2 天前
探索 3 个有趣的 GitHub 学习资源库
经验分享·git·学习·github
F_D_Z2 天前
【解决办法】git clone报错unable to access ‘xxx‘: SSL certificate problem:
网络·git·网络协议·ssl
等风来不如迎风去2 天前
【git】main|REBASE 2/6
git