对新入职的小白非常友好的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 还有许多命令,有的可能也是经常用的,但我并没有总结出来,欢迎大家私信我或评论区留言建议,如若有错误的地方也欢迎指出。好了,我下班了,谢谢大家的观看。

相关推荐
和你一起去月球1 小时前
TypeScript - 函数(下)
javascript·git·typescript
我不是程序猿儿2 小时前
【GIT】TortoiseGit的变基(Rebase)操作
git
yyycqupt8 小时前
git使用(一)
git
Kkooe12 小时前
GitLab|数据迁移
运维·服务器·git
Beekeeper&&P...13 小时前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
Stara051117 小时前
Git推送+拉去+uwsgi+Nginx服务器部署项目
git·python·mysql·nginx·gitee·github·uwsgi
lsswear18 小时前
GIT 操作
git
勋勋勋勋小勋勋18 小时前
git分支合并某一次提交
git
PandaCave19 小时前
git常用命令以及注意事项总结
git