IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Android学习-Git应用协同开发笔记 -> 正文阅读

[开发工具]Android学习-Git应用协同开发笔记

1.gitee码云配置

注册账号–> 下载git --> 输入git命令配置ssh:ssh-keygen.exe --> 到.ssh目录中复制id_rsa.pub公钥文件 key --> 码云设置SSH公钥(一个账号可绑定多个电脑)

常用命令:

git status 查看当前状态
git branch 当前分支
git branch -f 分支a HEAD~3 让分支强制移动到之前的提交:
git reset 分支a~步数 撤销前几次提交,改写历史(远程无效)
git revert 分支a 撤销前几次提交,但是新一次提交的改动,可推送

2.创建项目团队

组长创建仓库并邀请用户(开发者):

  1. 组员复制链接加入项目
  2. 组员复制ssh仓库地址并克隆:git clone 项目地址

组长项目初始化、组员简单操作:

  1. git设置名字、邮箱

    git config --global user.name “张三”
    git config --global user.email “zhangsan@163.com”

  2. 下载远程仓库文件到本地仓库

    git clone 项目地址

  3. 添加项目文件到远程仓库
    项目文件复制到文件夹中
    文件添加到暂存区 -> 提交到本地仓库 -> 推送到远程仓库(文件夹没内容就不推送)

    git add .
    git commit -am”日志内容”
    git push

  4. 组员拉项目

    git pull

  5. 组员修改后添加、提交、推送(实际开发中先切换一个分支)

    git add .
    git commit -am “日志”
    git push

  6. 组长拉下最新代码

    git pull

3.分支的使用和切换

创建并切换分支a:

git checkout -b 分支名a

分支a推送到远程仓库(日志认真写,便于回溯):

git add .
git commit -am “日志”
git push origin 分支名a

合并其他分支(将分支a合并到主分支中):

git merge 分支a

切换分支:git checkout master/分支名a

1)当出现bug时:

场景① :组员正在进行开发,组长说刚刚提交的代码有误要修改再提交。此时有开发到一半的内容又不能舍弃。
?解决:一般开发新功能也会新开一个分支,老功能有问题切回该分支改代码测试提交,不影响新开发代码的运行。

  • 主分支与分支a是互不影响的。
  • 有任务时,组员在本地创建分支进行开发,测试,提交,推送,最后由组长拉分支下来检查再合并到主分支

合并步骤:先在自己分支a拉一下,切换到别人分支b上再拉,再切换回自己分支a,再合并b。
组长合并:
主分支pull,切换分支a ,再pull,检查代码没有问题,切换回主分支,再合并分支a过来,再push。
其他人先保存自己当下的分支代码,再切主分支pull下最新代码,再切分支a把主分支代码合并过来。

2)当出现冲突时

场景① :要合并时发现同一行代码在两个分支上有不同的内容,出现冲突。
沟通后解决冲突,add和commit,push,告诉小伙伴主分支已提交记得更新。
队友去切换主分支,pull拉代码,切换回分支a,把主分支的内容合并到分支a。

3)写好了的功能被改坏了,怎么回到之前的位置上?

看分支下的日志,找到需要回退的位置的commit 哈希值前六位,回退:

git log
git reset --hard 123456

也可用符号
后退几步:用引用^,一个符号表示一次父节点,也可以相对于HEAD

git checkout 分支a^^

后退多步:~步数

git checkout 分支a~3


踩坑记录:

1.Permission denied (publickey).

Administrator@XTZJ-202104E MINGW64 /e/BRAND/Galaxy/git (main)
$ git push --set-upstream origin main
git@github.com: Permission denied (publickey).
//致命:无法从远程存储库读取。
fatal: Could not read from remote repository.
//请确保您拥有正确的访问权限并且存储库存在。
Please make sure you have the correct access rights
and the repository exists.

原因:克隆项目时没有权限所以被拒绝了,Git服务器和我们本地的通讯要使用 SSH key(密钥)来验证,去我们Git主页检查是否缺少密钥,缺少了密钥只需设置一个密钥就行了。

做pull/merge之前先commit本地的修改

2.合并分支出现 Please enter a commit message to explain why this merge is necessary.
在这里插入图片描述
不写原因直接3,4步骤,写原因则1,2,3,4步骤

  1. 按键盘字母 i 进入insert模式
  2. 修改最上面那行黄色合并信息,可以不修改
  3. 按键盘左上角"Esc"
  4. 输入":wq",注意是冒号+wq,按回车键即可

在AS图形界面下做Git操作:
远程仓库与项目做关联:git remote add origin 地址
拉去服务器代码前先同步:fetch
有多个远程仓库:remotes
当我们没有权限直接提交到主仓库,fork一个自己的仓库,同时跟踪两个仓库代码。
pull 拉取 push 提交

  • 保存临时代码:要更新最新的代码,但是怕与本地的代码有冲突:
    stach changes -->拉取pull -->UnStach changes 找到刚刚保存的地方,恢复临时代码
  • 代码回滚(常用当本地与远程冲突时)
    提交了多次,但是只想要最后一次提交修改的内容:
    1. 在最新提交处创建新本地分支a2,来保存之前的代码
    2. 删除有问题的本地分支a,再重新从远程拉下a,
    3. 从最新提交处拉取commit:cherry-pink
      revert回滚相当于重新提交代码
      当多次提交显得提交信息很乱,用命令行:
      查看最新的git rebase -i head~合并数
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:32:17  更:2022-09-04 01:35:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:51:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码