当前位置:网站首页 / GIT / 正文

ay git 命令行方式 多人合作写代码 记录

时间:2022年06月02日 | 作者 : aaronyang | 分类 : GIT | 浏览: 2034次 | 评论 0

为了总结和下次新人来使用

准备工作

image.png

你入职了一家公司,公司有代码,有的用gitlab搭建的代码管理


获取master代码

建立 放代码的 文件夹

image.png

拷贝https方式的地址

image.png

可视化方式打开文件夹 start .  

git clone https:// 您的项目地址 .git

image.png


进入源码目录

cd 源码目录名

查看本地分支

git branch

image.png

*号就是 当前的分支


查看服务器和本地分支

git branch -a

*号就是 当前的分支

image.png

remotes开头的都是服务器上的分支



开发规则

我们服务器上有 几个主要分支,发版本的思路   

产品提需求,分配需求给某人  编码完, 提交代码,取分支名示例   feature/20220602-需求号(可加发版本日期)

这个针对线上已经发布的产品, 实际使用出现的bug,分配bug给某人  修复bug  提交代码, 取分支名示例   hotfix/20220602-需求号-bug号

    内部bug,我觉得直接在feature上改,commit上的备注上 加上fix 编号什么的

3个大分支,你自己可以取名字,我们这叫  shop 然后 beta,最后合并到 master



对于服务器已有分支的场景

场景1

本地建立分支,同时 把服务器上的分支赋予

服务器上已有shop和beta

git checkout -b shop origin/shop

image.png


场景2

自己不知道服务器上有这个名字的分支,比如beta,新建了

git checkout -b beta

后面又想把服务器上的 beta和本地建立联系

git checkout -b beta origin/beta

这个失败了

image.png

那就删除本地分支


删除本地分支

 git branch -d beta

image.png

然后我们再老老实实

git checkout -b beta origin/beta 

以上的操作,新建完分支后自动切换到新建的分支


删除服务器分支

git push origin --delete 分支名


切换分支

git checkout shop

image.png

如果你打开了源码下的sln,你的vs右下角git也会自动切换

image.png



由于服务器上的shop和beta 我和其他同事一起使用的,不方便学习如何使用,下面自己新建 主分支

(一般你的领导去建立,并且最后合并代码到master)

我们添加 shop1 和 beta1

方便学习


思路

本地建立分支,【可选 修改代码】,提交,【可选pull】,push


本地建立分支

git checkout -b shop1

添加所有代码

git add .

提交备注

git commit -m '新建shop1'

提交到远程的分支,名字必须和本地分支名字一致

git push origin shop1

此时服务器上有了shop1

image.png

同理在服务器和本地 建立 beta1

git checkout -b beta1

git add .

git commit -m '新建beta1'

git push origin beta1

image.png



=====================  以上 是 管理者基本的操作  =========================

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========


而同事的话,只需要按照  

对于服务器已有分支的场景

那个章节的内容去操作


注意: 每次checkout一个分支 都是对 当前分支的一个 副本

==========================================================================


日常开发模拟

产品提需求,分配需求给我   编码完, 提交代码,取分支名示例   feature/20220602(换成你的日期)-需求号(可加发版本日期)


当前日期20220602  发布日期 20220609   需求号 200 (自己公司的任务管理工具的需求号,例如禅道,jira等)

本地建立分支

git checkout -b feature/20220602-200-20220609

image.png

接下来经过一段时间的编码

。。。。。。

。。。。。

。。。。。。

例如我对一个文件修改了,完成本次这个需求


接下来提交代码到 服务器上的新分支,没完成也提交,防止代码丢了

打包一个exe程序包,或者自己部署到真实机器,让测试人员给测试



测试通过后,合并代码到 shop1 (真实情况是合并到shop,shop1是自己测试用的主要的分支)

首先你要切换到shop1

git checkout shop1

然后拉取最新的代码

git pull

因为别人也会提交代码到shop1上的,所以你必须先拉取下


然后你把你的代码 合并到 当前分支

git merge feature/20220602-200-20220609

如果有冲突,你直接在源码里面修改冲突就行了


冲突解决完了,应该还要pull一下,因为别人可能合并了一些,没冲突了应该提交


是把shop合并到beta上吗?


此时打包 打包一个exe程序包,或者自己部署到真实机器,让测试人员给测试

注意合并完后,正式写代码,不要在shop1和beta1上写代码,要回到feature那个分支上,然后在此基础上新建个分支写代码,可能写完了一个需求,那边还在测试,编写新的代码,此时来了一个新需求,新建新的feature,然后把你自己定义的 分支合并达到这个上,继续编写代码,在自己的feature上写代码,基本不用pull,因为这个分支只有你一个人写代码



测试通过后,合并代码到 beta1 (真实情况是合并到beta,beta1是自己测试用的主要的分支)

首先你要切换到beta1

git checkout beta1

然后拉取最新的代码

git pull

因为别人也会提交代码到beta1上的,所以你必须先拉取下


然后你把你的代码 合并到 当前分支

git merge feature/20220602-200-20220609

如果有冲突,你直接在源码里面修改冲突就行了


冲突解决完了,应该还要pull一下,因为别人可能合并了一些,没冲突了应该提交代码



====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========



结束了,我们删除服务器上测试的分支

git push origin --delete 分支名



其他命令

git help 查看帮助


start a working area (see also: git help tutorial)

   clone     Clone a repository into a new directory

   init      Create an empty Git repository or reinitialize an existing one


work on the current change (see also: git help everyday)

   add       Add file contents to the index

   mv        Move or rename a file, a directory, or a symlink

   restore   Restore working tree files

   rm        Remove files from the working tree and from the index


examine the history and state (see also: git help revisions)

   bisect    Use binary search to find the commit that introduced a bug

   diff      Show changes between commits, commit and working tree, etc

   grep      Print lines matching a pattern

   log       Show commit logs

   show      Show various types of objects

   status    Show the working tree status


grow, mark and tweak your common history

   branch    List, create, or delete branches

   commit    Record changes to the repository

   merge     Join two or more development histories together

   rebase    Reapply commits on top of another base tip

   reset     Reset current HEAD to the specified state

   switch    Switch branches

   tag       Create, list, delete or verify a tag object signed with GPG


collaborate (see also: git help workflows)

   fetch     Download objects and refs from another repository

   pull      Fetch from and integrate with another repository or a local branch

   push      Update remote refs along with associated objects


'git help -a' and 'git help -g' list available subcommands and some

concept guides. See 'git help <command>' or 'git help <concept>'

to read about a specific subcommand or concept.

See 'git help git' for an overview of the system.



本文总结


获取代码 git clone git地址

查看分支 git branch

查看所有分支 git branch -a

切换分支 git checkout 分支名

创建本地分支 git checkout -b 分支名

创建本地分支并把服务器分支赋予 git checkout -b 分支名 origin/分支名

添加所有代码 git add .

提交代码到本地并备注信息 git commit -m '你的备注'

获取最新代码 git pull

提交到远程分支,名字必须和本地分支名字一致  git push origin 分支名

提交到master分支 git push

合并分支,先切换目标分支  git checkout 分支名,    git merge  被合并的分支名

删除本地分支 git branch -d 分支名

删除服务器分支 git push origin -delete 分支名







推荐您阅读更多有关于“git,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

抖音:wpfui 工作wpf

目前在合肥企迈科技公司上班,加我QQ私聊

2023年11月网站停运,将搬到CSDN上

AYUI8全源码 Github地址:前往获取

杨洋(AaronYang简称AY,安徽六安人)AY唯一QQ:875556003和AY交流

高中学历,2010年开始web开发,2015年1月17日开始学习WPF

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

标签列表