Git学习笔记(最终篇)

文章目录

  • 远程仓库
    • [一. 配置远程连接](#一. 配置远程连接)
    • [二. 添加远程仓库](#二. 添加远程仓库)
    • [三. 推送步骤](#三. 推送步骤)
    • [四. 远程库克隆](#四. 远程库克隆)
    • [五. 创建与合并分支](#五. 创建与合并分支)
      • [1. 创建新分支](#1. 创建新分支)
      • [2. 切换分支](#2. 切换分支)
      • [3. 创建并立即切换到该分支](#3. 创建并立即切换到该分支)
      • [4. 合并分支](#4. 合并分支)
    • [六. 处理冲突](#六. 处理冲突)
    • [七. 分支管理策略](#七. 分支管理策略)
    • [八. bug分支](#八. bug分支)
    • [九. 多人协作](#九. 多人协作)
    • [十. 推送分支](#十. 推送分支)
    • [十一. 抓取分支](#十一. 抓取分支)

远程仓库

一. 配置远程连接

本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,所以需要配置ssh key。

二. 添加远程仓库

要将本地代码库连接到远程仓库,可以使用以下git命令:

  1. 首先,将本地代码库初始化为Git仓库(如果尚未完成)
bash 复制代码
git init
  1. 添加远程仓库的URL,其中是自定义名称,是远程仓库的URL
bash 复制代码
git remote add <remote-name> <remote-url>
  1. 可以使用以下命令确认远程仓库是否已成功添加
bash 复制代码
git remote -v

此后,您就可以使用git push命令将代码推送到远程仓库,或使用git pull命令从远程仓库拉取代码。

推送本地仓库内容到远程仓库

  1. 如果是新建的远程仓库,即远程仓库是空的时候,要加上-u参数
bash 复制代码
git push -u origin master
  1. 如果仓库不是空的,就不需要-u参数
bash 复制代码
git push origin master

在 Git 命令中,git push -u origin master 中的 -u 或 --set-upstream 参数是用来设置当前分支与远程分支之间的上游(upstream)关系的。

当你克隆一个仓库并开始工作时,Git 会自动为你设置本地 master 分支(如果你使用的是较新版本的 Git,则可能是 main 分支)来跟踪远程仓库中的同名分支(例如 origin/master)。但是,如果你从现有的本地仓库中创建了一个新的分支,并且想要将这个新分支推送到远程仓库,Git 并不会自动设置这个新分支的上游关系。

这时,你可以使用 git push -u origin 命令来推送新分支到远程仓库,并同时设置该分支的上游关系。这里的 应该替换为你的新分支名。在你给出的例子中, 是 master,尽管这通常用于已存在的默认分支。

三. 推送步骤

  1. 初始化:本地建库(即文件夹),git init
  2. 添加到仓库:代码文件放入本地库,git add .
  3. 提交: git commit -m "注释内容",提交到仓库
  4. 新建远程仓库并关联:在Github上设置好SSH密钥后,新建一个远程仓库git remote add origin https://github.com/\*\*\*\*\*\*.git关联
  5. 推送:git push (-u) origin master,把本地仓库的代码推送到远程仓库Github上

四. 远程库克隆

要从远程仓库克隆代码到本地,可以使用以下git命令:

bash 复制代码
git clone <remote-url>

其中是远程仓库的URL。执行此命令后,Git将在当前目录下创建一个新目录,其中包含克隆的代码库副本。如果想指定不同的目录名,可以将目录名作为可选参数添加到命令中:

bash 复制代码
git clone <remote-url> <directory-name>

在执行git clone命令时,还可以通过添加其他标志来更改默认行为,例如指定要克隆的分支、禁用克隆时自动检查的文件等。

五. 创建与合并分支

1. 创建新分支

bash 复制代码
git branch <branch_name>

这将在当前所在的提交上创建一个名为 <branch_name> 的新分支。

2. 切换分支

要切换到新创建的分支,可以使用以下命令:

bash 复制代码
git checkout <branch_name>

3. 创建并立即切换到该分支

创建并立即切换到该分支,可以使用以下命令:

bash 复制代码
git checkout -b <branch_name>

4. 合并分支

合并分支可以使用以下命令:

bash 复制代码
git merge <branch_name>

这会将 <branch_name> 分支中的更改合并到当前分支。

六. 处理冲突

当两个分支上的代码修改了同一部分,并且尝试将这两个分支合并时,就会发生代码冲突。Git提供了以下步骤来解决冲突:

  1. 运行 git status 命令查看哪些文件包含冲突。
bash 复制代码
git status
  1. 编辑有冲突的文件,手动解决文件中的冲突。
  2. 对编辑后的文件进行 git add,标记为已解决冲突的文件。
    使用 git commit 提交更改,Git 会自动生成一个合并提交,其中包含各自分支中的更改。
bash 复制代码
git add
git commit

注意:在解决冲突前,最好先备份当前的代码状态,以免不小心破坏代码库。另外,在处理冲突之前,可以通过运行 git diff 命令来查看冲突的源代码,以便更好地理解要解决的问题。

七. 分支管理策略

在 Git 中,常见的分支管理策略包括以下几个方面:

  1. 主分支:主分支通常是最稳定的分支,用于发布生产版本。在 Git 中,主分支通常是 master 分支或者 main 分支。
  2. 开发分支:开发分支通常从主分支派生而来,在其上进行新功能或修复错误的开发。在 Git 中,通常使用 develop 分支作为开发分支。
  3. 特性分支:特性分支是为了开发单独的功能而创建的分支。这些分支通常从开发分支派生而来,并在实现目标后被合并回开发分支。在 Git 中,通常使用 feature/ 分支命名约定来表示特性分支。
  4. 发布分支:发布分支是用于准备发布版本的分支,通常从主分支派生而来。这些分支应该包含与发布相关的所有更改,并且应该经过全面测试和审核后再合并回主分支。在 Git 中,通常使用 release/ 分支命名约定来表示发布分支。
  5. 热修复分支:热修复分支通常用于快速修复紧急问题,例如安全漏洞或崩溃。这些分支通常从主分支派生而来,并且只包含必要的更改。在 Git 中,通常使用 hotfix/ 分支命名约定来表示热修复分支。

通过采用合适的 Git 分支管理策略,可以帮助团队更好地组织和管理代码,提高团队的协作能力和生产效率。除了上述常见的分支管理策略,还可以根据团队的具体需求和工作流程定制适合自己的分支管理策略。

八. bug分支

在 Git 中,通常使用 bug 分支用于修复代码中的错误或缺陷。当发现 bug 时,可以从当前开发分支(如 develop 分支)创建一个 bug 分支,在该分支上进行错误修复。修复完成后,可以将更改提交到 bug 分支,并将其合并回开发分支和主分支。

以下是一个典型的使用 Git bug 分支的流程:

  1. 从当前开发分支(如 develop 分支)创建一个新的 bug 分支
bash 复制代码
git checkout -b bug/fix-xxx
  1. 在 bug 分支上进行错误修复,包括必要的测试和代码审查
  2. 提交更改并推送到远程仓库
bash 复制代码
git add .
git commit -m "Fix xxx bug"
git push origin bug/fix-xxx
  1. 将 bug 分支合并回开发分支(如 develop 分支)
bash 复制代码
git checkout develop
git merge --no-ff bug/fix-xxx
  1. 测试修复是否正确,如果一切正常,则将开发分支合并回主分支(如 master 分支)
bash 复制代码
git checkout master
git merge --no-ff develop

通过使用 Git bug 分支,可以帮助团队更好地管理和修复代码中的错误和缺陷,同时保持代码库的稳定性和可靠性。

九. 多人协作

Git 是一个优秀的多人协作工具,以下是 Git 多人协作的一些最佳实践:

  1. 使用分支:使用分支可以帮助团队成员在不影响主分支的情况下进行开发和测试,避免代码冲突和错误。建议采用主分支、开发分支、特性分支、发布分支、热修复分支等分支管理策略。
  2. 提交规范:每次提交代码时应该附加有意义的提交信息,描述本次提交的更改内容和目的。建议采用语义化版本号和提交信息模板等规范,以便更好地记录和追踪代码变更历史。
  3. 定期合并:团队成员应该定期将自己的分支合并回主分支或者开发分支。这可以避免较大的代码冲突和错误,并且保持代码库的整洁和可维护性。
  4. 代码审查:通过代码审查可以确保代码的质量和一致性,并且可以识别和纠正潜在的问题和错误。建议采用 pull request 和 code review 等工具和流程,以便团队成员对彼此的代码进行审查和反馈。
  5. 团队协作:团队成员之间应该保持及时和有效的沟通,共享技术和经验,并尽可能避免个人行为和偏见对项目和团队产生不良影响。

通过采用上述最佳实践,可以帮助团队高效协作、保证代码质量和稳定性,并提高团队的生产力和创造力。

十. 推送分支

在 Git 中,推送分支指将本地的分支提交到远程仓库中,使得其他团队成员可以访问和获取该分支的代码。以下是在 Git 中推送分支的一些常用命令:

  1. 推送当前分支到远程仓库,并与远程分支关联:
bash 复制代码
git push -u origin <branch-name>
  1. 推送当前分支到远程仓库,并与远程分支合并:
bash 复制代码
git push origin <branch-name>
  1. 强制推送当前分支到远程仓库(不推荐):
bash 复制代码
git push -f origin <branch-name>
  1. 删除远程分支:
bash 复制代码
git push origin :<branch-name>
或
git push --delete origin <branch-name>

在推送分支时,通常会遇到冲突等问题。如果发生冲突,需要先解决冲突,然后再进行推送。

十一. 抓取分支

在 Git 中,抓取分支指从远程仓库拉取最新的代码和分支信息,并在本地创建相应的分支。以下是在 Git 中抓取分支的一些常用命令:

  1. 拉取所有远程分支并更新本地分支:
bash 复制代码
git fetch --all
  1. 拉取一个特定的远程分支到本地:
bash 复制代码
git fetch origin <branch-name>
  1. 在本地创建基于远程分支的新分支:
bash 复制代码
git checkout -b <new-branch-name> origin/<remote-branch-name>
  1. 拉取远程分支并自动与本地分支关联:
bash 复制代码
git checkout --track origin/<remote-branch-name>
或
git checkout -t origin/<remote-branch-name>

抓取分支时,需要注意避免覆盖当前分支中未提交的更改。如果本地分支和远程分支存在冲突,需要解决冲突后才能将更改合并到本地分支中。

通过抓取分支可以使得开发者获取最新的代码和分支信息,在本地进行代码修改和测试,并将更改推送回远程仓库以进行协作开发。


❤️❤️❤️Git完结撒花😊❤️❤️❤️

相关推荐
Zorione1 小时前
神经网络多层感知器异或问题求解-学习篇
人工智能·神经网络·学习
晓风残月Yuperman1 小时前
mac 电脑 git credential osxkeychain问题之二
git·mac
月夕花晨3741 小时前
C++学习笔记(21)
c++·笔记·学习
丢爸1 小时前
Linux学习-Ansible(一)
linux·学习·ansible
丢爸1 小时前
Linux学习-Ansible(二)
linux·学习·ansible
猿究院+2 小时前
Vue3前端框架学习记录
学习·arcgis·前端框架
知识分享小能手2 小时前
mysql学习教程,从入门到精通,SQL IN & BETWEEN 运算符(13)
大数据·开发语言·数据库·python·sql·学习·mysql
Red Red2 小时前
Excel数据转置|Excel数据旋转90°
笔记·学习·excel
埋头编程~2 小时前
【Linux】常用指令(中)(附带基础指令的详细讲解、Linux的一些附加知识)
linux·运维·服务器·chrome·学习
AI大模型训练家3 小时前
OpenAI的API调用之初探,python调用GPT-API(交互式,支持多轮对话)
人工智能·python·gpt·学习·程序人生·dubbo·agi