git 使用

背景

  • 在团队合作时,git 使用会十分方便,网上的教程感觉都过于复杂,对新手来说感觉很不友好,所以现总结了一下一般情况下需要用到的命令。

  • 以本 Limx 为例,前后端完全分离,分别为 backend、frontend,后端由一个人写,前端有三个人。老板建了这两个 master 分支,并且只有老板有权限,我们将最新的代码放到 dev 上,开始干活的时候就从 dev 迁出一条自己的新分支,然后完成后合并到 dev 上,每隔一段时间,老板就会检查 dev 然后推到 master 上。这样前后端分离,最明显的好处就是每次后端更新,我只需要在拉一下后端的 dev 分支就完事了。

  • 简单通俗地介绍一下 git 逻辑,帮助理解下面的步骤,使用 git 了以后,相当于有三套代码体系,你刚刚改完的文件是一套,本地有一个 git 仓库,里面有一套,远端网络上有一套。所以你改完代码以后,首先要 commit ,就是将刚刚改好的代码提交到本地的仓库,这一步不需要联网,因为都是本地的,在 commit 以后还需要 push 才能把代码从本地仓库推送到远端的仓库,你的同伴才能将你的代码 pull 下来。

  • 以下详细介绍整个过程。

设置 SSH

如果你是第一次使用,第一步是要设置 SSH,可以上网搜一下资料,生成 SSH 密匙然后再 git 网站设置一下。

克隆仓库

  • 首先第一步要做的就是克隆老板创建的 git 仓库,首先在你的文件夹下用 git init 然后 git clone 就可以了,第一次使用可能遇到 SSH 密匙没有设等问题,可自行 google,如果文件成功 clone 到本地,这一步就成功了。

自己创建仓库

  • 如果是自己创建仓库,就需要自己在网站上先创建一个仓库,然后根据提示可以链接到远程仓库。

  • 基本流程就是:基本如下:

git init

git add .

git commit -m 'Test'

git remote add origin git@github.com:XXX/XXX.git

git push -u origin master
  • 基本意思就是:创建本地git仓库、添加文件、提交到本地仓库、将本地仓库关联到远端仓库、将本地仓库上传到远程仓库的 master 分支

刷新远端仓库

  • 当你发现在网站上存在的分支本地没有显示的时候(git branch -a 查看所有分支),输入下面的代码,类似于刷新一下信息。

git fetch

拉取 dev 分支

  • 在从公共的 dev 分支迁出一条新分支之前,要先拉取一下dev的分支,使用下面的命令,这样就将当前远程的 dev 分支拉到了本地,也就是更新了一下同伴更新的代码。

git pull dev

从当前 dev 分支迁出一条 TTJQ 分支

  • 更新了 dev 分支以后,我们就从 dev 上迁出一条新的分支,命名为 TTJQ ,迁出就是新建一个分支,这个分支的初始代码和当前所在分支的代码一样,这样的好处是在自己的分支开发自己的代码,如果在 dev 分支多个人一起开发,很容易混乱。

git checkout -b TTJQ

commit 当前修改

  • 现在我们来到了自己的分支 TTJQ,开始写代码。当到达成一个需求以后,我们首先要用将修改的代码提交到本地的仓库,命令如下,-m 后面是提交时候的留言,方便查看每次提交都干了什么。

git commit -m "finish invite new person"

将本地仓库的修改提交到远端

  • 在提交到云端之前,我们最好先 commit 一下,保证当前代码和本地库的一样

  • 我们可以多次 commit 以后一次性提交到云端,代码如下:

git push

切换回 dev 分支

  • 在我们 push 完最后一次,完成当前需求,我们就可以把当前分支 TTJQ 合并到 dev 分支,以便同伴使用。首先保证 push 了以后,要先切换回 dev 分支,代码如下:

git checkout dev

将 TTJQ 合并到当前 dev 分支

  • 在合并之前,先 pull 一下远程的 dev 将本地的版本和当前版本保持一致

  • 然后将 TTJQ 分支合并到当前分支,代码如下

git merge TTJQ
  • 然后再将dev push 到远程即可。

删除本地、远端 TTJQ 分支

  • 使用完 TTJQ 分支以后,如果我们想要删除这个分支,用下面代码,分别删除本地和远端的分支。

git branch -d TTJQ
git push origin --delete TTJQ

Visual Studio Git 界面

  • 以上步骤都可以再 VS 的可视化界面上进行,界面如下所示:

4

  • 更改见面即 commit 消息

4

  • 分支界面,点分支名称即可切换分支,还可以新建分支、合并分支、删除分支

4

  • 同步界面,可以 pull(拉取)和 push(推送)

Visual Studio Code 可视化界面

  • VS Code 也有 git 的可视化界面,但是 code 没有合并分支的界面(反正我没找到),可以再 Code下面的终端写入 git 代码

4

  • 如上图所示,有两个 git 仓库,我们点 dev 会弹出一个窗口,可切换分支、新建分支。

  • 点击后面的那个刷新图标,就是拉取提交,就是把远端的先拉下来,然后与本地合并,再提交上去。如果按之前步骤,我们不会直接在 dev 上修改代码,只会合并分支,所以当我们要拉去或者推送的时候,就点那个刷新图标就好了。


本文章使用limfx的vsocde插件快速发布