在团队合作时,git 使用会十分方便,网上的教程感觉都过于复杂,对新手来说感觉很不友好,所以现总结了一下一般情况下需要用到的命令。
以本 Limx 为例,前后端完全分离,分别为 backend、frontend,后端由一个人写,前端有三个人。老板建了这两个 master 分支,并且只有老板有权限,我们将最新的代码放到 dev 上,开始干活的时候就从 dev 迁出一条自己的新分支,然后完成后合并到 dev 上,每隔一段时间,老板就会检查 dev 然后推到 master 上。这样前后端分离,最明显的好处就是每次后端更新,我只需要在拉一下后端的 dev 分支就完事了。
简单通俗地介绍一下 git 逻辑,帮助理解下面的步骤,使用 git 了以后,相当于有三套代码体系,你刚刚改完的文件是一套,本地有一个 git 仓库,里面有一套,远端网络上有一套。所以你改完代码以后,首先要 commit ,就是将刚刚改好的代码提交到本地的仓库,这一步不需要联网,因为都是本地的,在 commit 以后还需要 push 才能把代码从本地仓库推送到远端的仓库,你的同伴才能将你的代码 pull 下来。
以下详细介绍整个过程。
如果你是第一次使用,第一步是要设置 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 分支拉到了本地,也就是更新了一下同伴更新的代码。
git pull dev
更新了 dev 分支以后,我们就从 dev 上迁出一条新的分支,命名为 TTJQ ,迁出就是新建一个分支,这个分支的初始代码和当前所在分支的代码一样,这样的好处是在自己的分支开发自己的代码,如果在 dev 分支多个人一起开发,很容易混乱。
git checkout -b TTJQ
现在我们来到了自己的分支 TTJQ,开始写代码。当到达成一个需求以后,我们首先要用将修改的代码提交到本地的仓库,命令如下,-m 后面是提交时候的留言,方便查看每次提交都干了什么。
git commit -m "finish invite new person"
在提交到云端之前,我们最好先 commit 一下,保证当前代码和本地库的一样
我们可以多次 commit 以后一次性提交到云端,代码如下:
git push
在我们 push 完最后一次,完成当前需求,我们就可以把当前分支 TTJQ 合并到 dev 分支,以便同伴使用。首先保证 push 了以后,要先切换回 dev 分支,代码如下:
git checkout dev
在合并之前,先 pull 一下远程的 dev 将本地的版本和当前版本保持一致
然后将 TTJQ 分支合并到当前分支,代码如下
git merge TTJQ
然后再将dev push 到远程即可。
使用完 TTJQ 分支以后,如果我们想要删除这个分支,用下面代码,分别删除本地和远端的分支。
git branch -d TTJQ
git push origin --delete TTJQ
以上步骤都可以再 VS 的可视化界面上进行,界面如下所示:
更改见面即 commit 消息
分支界面,点分支名称即可切换分支,还可以新建分支、合并分支、删除分支
同步界面,可以 pull(拉取)和 push(推送)
VS Code 也有 git 的可视化界面,但是 code 没有合并分支的界面(反正我没找到),可以再 Code下面的终端写入 git 代码
如上图所示,有两个 git 仓库,我们点 dev 会弹出一个窗口,可切换分支、新建分支。
点击后面的那个刷新图标,就是拉取提交,就是把远端的先拉下来,然后与本地合并,再提交上去。如果按之前步骤,我们不会直接在 dev 上修改代码,只会合并分支,所以当我们要拉去或者推送的时候,就点那个刷新图标就好了。
本文章使用limfx的vsocde插件快速发布