Skip to content

下载好git之后,在AS中做好基础的信息配置

git修改用户名和邮箱

这种操作并不会切换git提交代码时的用户,使用git push的时候还是原来的账户,因为它只修改git commit时的账户

groovy
git config --global user.name "xxx"
git config --global user.email "xxx"

git切换账户

真正切换账户时需要按照如下操作 修改你本地git仓库里面的**config**文件。目录位于 .git -》config 文件 。在url前面手动输入用户名和密码 格式为 https://username:userpassword@具体的仓库地址; 示例

groovy
https://hui0413:lxth0411@gitee.com/starry_lixu/nqpen-sdk.git

分支

设置保护分支

使用git来管理代码时,防止意外提交和开发者随意提交到master分支,一般master分支只能从其他分支合并代码,然后master只能管理员能推送或是合并,组员只能拉取,这样才能保护我们的master分支稳定 分支的分类:

  • 常规分支:仓库成员(开发者权限及以上)可推送分支
  • 保护分支:可自定义保护策略,默认仓库管理员才能管理(推送)被保护的分支
  • 只读分支:任何人都无法推送代码(包括管理员和所有者),需要推送代码时应设为“常规”或“保护”分支。

image.png 这样之后,非管理员用户如果再提交代码到master分支,那么就会权限不足 image.png

分支的概念

查看本地分支

groovy
git branch

查看远程分支

groovy
git branch -r

创建分支

groovy
git branch [新分支名]

常规分支提交代码

创建本地分支

那么就需要这个非管理员的开发者创建一个本地分支,开发者基于这个分支继续开发项目,例如开发者创建一个本地分支**dev**

groovy
git branch dev

切换分支

并将分支从master切换到dev,对应AS可以看到小标签出现在dev分支上

groovy
git checkout dev

image.png

提交并推送代码

然后开发者修改了代码,就将代码提交到远程仓库

groovy
git add .
git commit -m '附加信息'
git push [远程仓库名] [远程分支名]

image.png 这样代码只是提交到了远程仓库的同名dev分区下,并不会主动合入到master分区中,所以需要开发者主动到gitee官网查看,提交一个pull requests

提交pull requests

然后审查人员看到了,就能审查代码选择合入到master分区中。 image.png 管理员登录自己的gitee就能处理代码选择是否合并 image.png

常规分支合并代码

拉取远程代码

首先需要将代码从远程仓库pull下来,从master分支pull

groovy
git pull origin master

合并代码

之后可以看到本地的dev分支仍然是老样子,这是因为pull下来还需要合并分支,将master上的代码合并到dev上 记得操作下面命令时要确认自己切换到了dev分区

groovy
git merge master

这样就能将远程master仓库中最新的代码拉取并合并到本地进行开发啦

继续开发

开发部分功能后可以先commit到自己的dev分支,等到功能开发完成再一次性push到master分支,并提交一个pull requests,由管理员审查代码之后就可以继续执行上面的pull、merge操作,如此反复。

在指定的某一个分支基础上创建一个新分支

命令方式

  1. 切换到指定的分支
dart
git checkout a
  1. 拉取指定分支的最新代码
dart
git pull
  1. 在本地分支创建一个新的分支,并且切换到这个分支
dart
git checkout -b b
  1. 把本地分支推送到远程仓库
dart
git push origin b
  1. 将本地分支与远程分支关联
dart
git branch --set-upstream-to=origin/b b

如果不关联,我们默认提交代码还是会提交到master分支上,如下可以看到虽然有一个远程dev分支,但是我们git branch -vv查看可以看到本地分支并没有关联远程分支 image.png 而关联成功后,我们在本地dev分支使用git push提交代码会默认提交到远程dev分支下 image.png

图形方式

image.png