创建提交
背景说明
在日常代码开发中,开发者更多的时候是将代码托管仓库克隆到本地,在本地进行代码开发,完成了阶段性开发任务后,再提交回代码托管仓库,本文将介绍使用Git客户端提交修改代码的方法。
操作步骤
一般情况下,开发者不会直接在master分支中进行开发,而是基于master或者dev分支创建一条feature分支,在feature中进行开发,然后将其推送到代码托管仓库,最后在代码托管仓库中将其合并到master或dev分支中,下面将模拟以上操作。
- 进入本地仓库目录,打开Git客户端,本案例以Git Bash为例,其它使用Git进行管理的工具的原理和命令使用基本是一致的。
- 基于master分支新建一条分支feature1001,并切换到其中,在master分支中执行以下命令。
git checkout -b feature1001 #如下图①
这个命令相当于先新建分支,然后直接切换到此分支。
执行成功如下图中②所示,此时可用ls命令查看其中包含的文件(如下图中③),此时他与master分支中内容是一样的。
- 在feature分支中进行修改(代码开发)。
Git支持Linux命令,本案例用touch命令新建一个newFeature1001.html文件,代表开发者已经在本地完成了新特性的开发,其对本地代码库的影响是新增了文件。
touch newFeature1001.html
创建后再次使用ls命令可以看到多出了这个文件。
- 使用add、commit命令依次将文件从工作区加入暂存区,再提交到本地版本库。(这是什么原理?)
期间可以穿插使用status命令,观察文件状态。
- 使用status命令看到,目前工作区有一个文件未纳入版本管理,如图中①。
- 使用add命令将文件加入暂存区,如图中②。
git add . #使用“.”代表所有文件,包括隐藏的,也可以直接指定某个文件
- 使用status命令看到,文件已经加入到暂存区,正在等待提交,如图中③。
- 使用commit命令将文件提交到本地版本库,如图中④。
git commit -m “您的提交备注”
- 再次查看状态,没有可处置文件,说明提交成功了,如图中⑤。
- 将本地的分支推送到代码托管仓库。
git push --set-upstream origin feature1001
本命令会在代码托管仓库新建一条与您本地feature1001一样的分支,并将其进行关联、同步。
其中origin是您的代码托管仓库名称,一般直接可控的仓库默认别名为origin,您也可以直接用仓库地址代替。
- 查看代码托管仓库分支。
登录代码托管服务,进入您的仓库,在文件列中可以看到此时已经可以在代码托管仓库切换到您的分支。
如果没有看到您刚推送上来的分支,很可能是您的origin绑定到了另外的仓库,请使用仓库地址再次推送。
- 此时您可以使用代码托管服务提供的合并请求管理功能,发起分支合并,并通知审核人进行评审,最终将新特性合入到master或dev分支中。