Git 使用教程—以 GitLab 上的 Django 项目为例 た 入场券 2022-12-15 02:29 173阅读 0赞 ### 一、代码提交流程 ### ##### 1. clone 代码到本地 ##### 有两个命令,第一个是 clone master 主分支代码,第二个是 clone 某个 branch 分支代码。 团队项目开发中,我一般是 clone 别人分支代码进行整合,master 主分支代码很少动。 git clone http://www.xxx.xxx.git git clone http://www.xxx.xxx.git -b <branch_name> ##### 2. 创建分支 ##### 首先确保代码托管平台有这个分支,然后使用命令行在本地创建分支: git checkout -b <branch_name> ![ddbeb4a1b36babdc917e2ae49e0153fb.png][] 创建完成会自动进入新分支路径,如上图所示,从 dev\_zxx 转向了下图所示 dev\_wxx 分支。 ##### 3. 提交代码到自己分支 ##### 查看当前状态: git status ![e9721fdde55c4dbb072c5e2aa9957073.png][] 保存当前进度: git stash 拉别人代码: git pull origin <branch_name> ![961941efb8929a46217c4590783d5cc2.png][] 如果有冲突文件,需要使用 IDE 解决冲突。 恢复进度: git stash pop ![e845cfaa107219676639c73ccf6eb3f4.png][] 将所有改变添加到本地缓存区中: git add . ![5af825a3ab3cf6346374c25fde094b3b.png][] 添加修改注释: git commit -m "注释内容,推荐使用英文" 把当前提交到 git 本地仓库的代码 push 到 GitLab 项目的某个分支上: git push origin <branch_name> ![72c252e80891cfb224c56449af580b27.png][] ### 二、分支合并 ### 查看当前分支和全部分支: git branch git branch -a ![b9c55d675c244a24c24d5f2f1725852c.png][] 发现本地没有想要合并到的目标分支,需要自己新建一下。 如果本地没有要合并的两个分支,需要先拉取代码到本地: git fetch origin <dev_merge>:<dev_merge> 比如下图,我是拉取 GitLab 项目上一个 dev\_yxx 同事的分支到本地。 ![7bbd36ad1ea831d79320f2f1324807ef.png][] 切换到要合并的分支: git checkout <dev_merge> 拉取当前分支最新代码: git pull ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dvbno1MTMw_size_16_color_FFFFFF_t_70_pic_center] 合并某分支到当前分支: git merge <dev_test> 下图所示是合并 dev\_yxx 分支代码到 dev\_wxx 分支中。 ![ae1488b0a04664b6c9c2b38e001559a1.png][] 如果有冲突文件,使用 IDE 解决冲突。使用 Pycharm 打开项目,发现标红的文件都是有冲突的文件。 ![89e6cd37d37739aed1d2f2a012d59747.png][] 使用 Pycharm 可以直接查看右侧,点击标红的地方可以直接找到冲突位置进行修改。 ![e42d2a236626c639ccfda75a1d5ae27b.png][] 下图中下面一行是合并的目标分支 dev\_wxx 代码,上面一行是 dev\_yxx 分支代码,我选择删掉两个红框里的冲突代码。 ![b5a2d40a30387fbe593c69fc2090d08c.png][] 并执行以下命令: git add "冲突文件名" git commit -m "注释" 如果没有冲突,直接 push: git push origin dev_merge ![ed8702b3867f26a8bf30476fd1d26c58.png][] 这样,就将 dev\_yxx 分支代码合并到 dev\_wxx 分支中了。同时保证了自己在 dev\_wxx 分支中的修改,也保证了同事在 dev\_yxx 中的修改。 [ddbeb4a1b36babdc917e2ae49e0153fb.png]: /images/20221123/3b31932c65c74fb184ff1f797f3711d1.png [e9721fdde55c4dbb072c5e2aa9957073.png]: /images/20221123/14b4f41932884143a8274e3005addac3.png [961941efb8929a46217c4590783d5cc2.png]: /images/20221123/ffb6c1140c2d42ed9f5ba6041ebde581.png [e845cfaa107219676639c73ccf6eb3f4.png]: /images/20221123/464c8737dffd4b34bd46d884aab5fa6f.png [5af825a3ab3cf6346374c25fde094b3b.png]: /images/20221123/aa726863beab42d8a005ca65bc509570.png [72c252e80891cfb224c56449af580b27.png]: /images/20221123/3447d8a38fbc4c13b8e0e5c76bc9ec49.png [b9c55d675c244a24c24d5f2f1725852c.png]: /images/20221123/4f77729ea66d48f0aae89b6570811212.png [7bbd36ad1ea831d79320f2f1324807ef.png]: /images/20221123/e0173e17617d4e1badcb885506460083.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dvbno1MTMw_size_16_color_FFFFFF_t_70_pic_center]: /images/20221123/14f78503d88a4e64bfc848ba93016b9f.png [ae1488b0a04664b6c9c2b38e001559a1.png]: /images/20221123/f8fec551255f4d34ba46168b3ac0fc5f.png [89e6cd37d37739aed1d2f2a012d59747.png]: /images/20221123/a362b9d970404853be0e0a1ea9b381fe.png [e42d2a236626c639ccfda75a1d5ae27b.png]: /images/20221123/35bb59d65364475289100e11c06f84f8.png [b5a2d40a30387fbe593c69fc2090d08c.png]: /images/20221123/9963c28a0a3d49f28db707a2b68d60c2.png [ed8702b3867f26a8bf30476fd1d26c58.png]: /images/20221123/61ad49943abc485db6f6f9016886c9b4.png
还没有评论,来说两句吧...