Mac使用GitHub
Mac使用GitHub

Mac使用GitHub

本文作为一个教程,将简单的介绍如何使用GitHub平台,以便对代码进行托管,或者对源码进行开源。

1、注册和安装

GitHub官网:https://github.com/

点击Sign up注册账户,注册过程不进行累赘。

2、安装Git

Mac用户可以通过Homebrew安装:

brew install git

验证 Git 是否安装成功:

git -–version

若能看到版本号,如 git version 2.x.x,则说明安装成功。

3、配置Git用户信息

设置全局用户信息(适用于所有 Git 仓库)

在终端(macOS/Linux)中运行::

git config --global user.name "你的 GitHub 用户名"
git config --global user.email "你的 GitHub 绑定邮箱"

这样,所有 Git 项目都会使用这个用户名和邮箱。

为什么要配置 Git 用户信息?

记录提交者身份:每次 git commit,Git 会在提交历史中附带用户名和邮箱信息,便于区分不同开发者的贡献。

与 GitHub 关联:GitHub 通过邮箱地址识别提交,并将它们与 GitHub 账号关联。

团队协作:在多人协作开发中,正确的用户信息可以帮助团队成员追踪谁提交了哪些更改。

针对某个项目设置(仅限当前 Git 仓库)

如果在不同项目中使用不同的 Git 账号(例如,工作和个人),可以在某个仓库内单独设置:

git config --local user.name "你的GitHub用户名"
git config --local user.email "你的GitHub绑定邮箱"

这只会影响当前仓库,而不会影响其他仓库。

查看已配置的 Git 用户信息

如果想查看当前 Git 配置的用户名和邮箱,可以运行:

git config --global user.name
git config --global user.email

者:

git config –list

这样可以检查所有的 Git 配置,包括用户信息、编辑器、默认分支等。

配置 Git 用户信息后对提交的影响

当执行 git commit 提交代码时,Git 会记录用户名和邮箱。例如:

commit 3f4b5d6 (HEAD -> main)
Author: JohnDoe <johndoe@example.com>
Date:   Wed Jan 31 14:00:00 2025 +0800

    修复存钱罐应用的 UI 问题

可以在 GitHub 提交历史中看到相应的提交者信息。

如果不配置 Git 用户信息会怎样?

首次提交代码时 Git 会报错:

*** Please tell me who you are.

Git 需要知道提交者信息,否则不会提交代码。

提交记录可能无法正确关联到 GitHub 账号

如果 Git 配置的邮箱与 GitHub 账号不匹配,提交可能不会显示在 GitHub 个人主页的贡献图(contributions graph)中。

4、创建或克隆仓库

登陆GitHub后,点击右上角+号 – New repository。

填写仓库名称,选择Public(公开)或Private(私有)。

其中,README文件用于在GitHub仓库展示:

在创建页面还有两个配置,分别是”Add .gitignore”和”Choose a license”。

.gitignore文件

.gitignore 是一个 Git 配置文件,用于指定 哪些文件或文件夹 不应被 Git 追踪(即不纳入版本控制)。

它的作用是

避免上传不必要的文件(如编译生成的 .o、.class 文件)。

保护敏感信息(如 API 密钥、配置文件)。

提高 Git 效率(减少无关文件的提交)。

如果创建的是Swift/iOS项目:

可以选择Swift或 Xcode 的 .gitignore 模板,或自己手动添加。

如果已经创建了 Xcode 项目,并希望手动添加 .gitignore,可以按照以下步骤操作:

1、在终端中进入Xcode 项目目录:

cd /Xcode项目路径

2、创建 .gitignore 文件:

touch .gitignore

3、编辑 .gitignore(可以使用 nano、vim 或 VS Code):

vi .gitignore

4、添加以下内容(适用于 Xcode 和 Swift 项目):

# macOS 系统相关
.DS_Store

# Xcode 相关
build/
DerivedData/
xcuserdata/
*.xcscmblueprint

# Swift Package Manager
.swiftpm/
Packages/

# CocoaPods
Pods/
*.xcworkspace

# Carthage
Carthage/

# Fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output

# Xcode Playgrounds
timeline.xctimeline
playground.xcworkspace

保存并退出。

.gitignore 的作用

.gitignore 会告诉 Git 忽略特定文件,防止不必要的文件被提交。例如:

build/:防止 Xcode 生成的编译文件被提交。

Pods/:如果使用 CocoaPods,不需要提交 Pods 目录,只需 Podfile.lock。

DerivedData/:Xcode 的缓存文件,不需要上传到 GitHub。

其他方式获取Xcode .gitignore

如果不想手动添加 .gitignore,还可以使用 curl 命令直接下载:

curl -L -o .gitignore https://raw.githubusercontent.com/github/gitignore/main/Swift.gitignore

-L:允许 curl 处理 重定向(GitHub raw 文件通常有 301/302 跳转)。

-o .gitignore:将下载的内容保存为 .gitignore。

许可证(License)

许可证(License)是开源项目的法律协议,规定了其他人如何使用、修改和分发代码。

为什么需要许可证?

保护你的代码,防止他人随意使用或滥用。

允许他人合法使用,避免版权纠纷。

定义开源方式,例如是否允许商业用途、是否必须开源衍生项目。

常见的开源许可证

下面是常用的几种许可证:

1、Apache License 2.0(Apache 许可证 2.0):

特点

允许自由使用、修改和分发,包括商用。

允许闭源(可以修改代码但不需要开源)。

提供专利授权,防止贡献者起诉用户侵犯专利。

需要在修改后提供版权声明和许可证文本。

适用场景

适用于需要专利保护的企业项目(如 Android)。

适用于对自由度要求较高的开源项目。

示例项目:Android、Hadoop、Apache Web Server

2、GNU General Public License v3.0(GNU 通用公共许可证 3.0,GPLv3)

特点

强制开源:任何基于 GPL 代码的修改或衍生作品必须 开源(即“Copyleft”)。

允许自由使用、修改和分发,但 修改后必须继续使用 GPL 许可证。

保护用户免受 DRM(数字版权管理)限制。

解决了 GPLv2 在专利和硬件方面的漏洞。

适用场景

适用于希望代码保持开源的项目。

不适用于闭源商业软件(因为一旦使用 GPL 代码,整个项目都必须开源)。

示例项目:Linux 内核、GCC(GNU Compiler Collection)、WordPress

3、MIT License(MIT 许可证)

特点

最宽松的开源许可证之一。

允许自由使用、修改、分发,包括商用和闭源。

仅要求保留原始许可证声明。

不提供专利授权,但通常不会影响商业使用。

适用场景

适用于希望代码能被广泛使用、二次开发甚至商业化的项目。

适用于开源库、框架、工具等。

示例项目:React.js、jQuery、Ruby on Rails

4、BSD 2-Clause License(BSD 2 条款许可证,简化版)

特点

允许自由使用、修改、分发,包括商用和闭源。

只要求保留版权声明和免责声明。

比 MIT 许可证更短,但功能相似。

适用场景

适用于希望代码自由使用,同时不希望承担法律责任的项目。

示例项目:NetBSD、FreeBSD

5、BSD 3-Clause License(BSD 3 条款许可证,修正版)

特点

与 BSD 2-Clause 类似,但增加了 “不得使用项目作者或贡献者的名称进行推广” 限制。

仍然允许自由使用、修改和分发(包括商用)。

适用于大型开源项目,避免误用作者或机构的名义。

适用场景

适用于企业和学术机构,希望防止未经授权的品牌使用。

示例项目:LLVM、FreeBSD、PostgreSQL

如果不希望别人随意使用你的代码,可以 不添加许可证,默认 保留所有权利

手动添加许可证

如果在创建 GitHub 仓库时没有选择许可证(License),可以 手动添加 许可证文件,步骤如下:

使用 GitHub 内置功能添加许可证

1、打开 GitHub 仓库。

2、点击 “Add file” → “Create new file”。

3、在文件名输入框中,输入 LICENSE(GitHub 会自动识别)。

提示有未保存的修改,是否放弃它们。

点击“确定”按钮后,跳转到显示许可证页面。

4、在左侧选择适合的许可证(例如 MIT License)。

5、GitHub 会自动填充许可证文本,点击 “Review and submit” 保存。

保存后,可以看到许可证文件。

5、创建完成GitHub仓库

6、本地克隆仓库

复制仓库的HTTPS/SSH地址(推荐使用HTTPS)。

在终端运行:

git clone 仓库地址

示例:

git clone https://github.com/fangjunyu1/Banklet.git

7、本地项目推送到GitHub

如果已经有一个本地项目,并想把它同步到 GitHub 仓库,可以按照以下步骤操作:

1、在本地终端初始化 Git 并推送

cd /path/to/your/project

2、初始化Git

git init

3、将项目所有文件添加到 Git

git add .

4、提交更改

git commit -m "初次提交"

5、将 GitHub 仓库添加为远程仓库

1)使用HTTPS方法

git remote add origin https://github.com/你的用户名/你的仓库名.git

这条命令告诉 Git,远程仓库的地址是 https://github.com/你的用户名/你的仓库名.git,并命名为 origin(默认远程仓库名称)。

HTTPS 方式的特点

适合临时或不常使用的环境。

每次推送代码时,Git 需要输入GitHub 账号和访问令牌(Personal Access Token,PAT),因为 GitHub 不支持直接输入密码。

如果没有设置 Git 凭据缓存,每次 git push 时都会要求输入用户名和访问令牌。

适用于防火墙或 SSH 受限的网络环境。

2)使用 SSH(推荐)

git remote add origin git@github.com:你的用户名/你的仓库名.git

这条命令使用 SSH 方式添加远程仓库,让 Git 通过 SSH 密钥认证访问 GitHub。

SSH 方式的特点

不需要每次输入 GitHub 用户名和访问令牌(使用 SSH 公钥进行身份验证)。

适合长期开发,推荐使用 SSH 方式,特别是频繁提交代码的开发者。

需要先配置 SSH 密钥,如果未配置 SSH,会遇到 Permission denied (publickey) 错误。

6、推送更新

在首次创建Git仓库,没有设置远程“上游分支”(upstream)时,使用git push,会提示:

fatal: The current branch main has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin main

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

表示Git不知道把代码推送到哪个远程分支,因此需要允许下面这条命令:

git push --set-upstream origin main

它会首次推送main分支并自动设置关联远程分支,后续的推送都可以使用:

git push

来推送更新,不用每次都设置上游分支。

如果设置main分支时,提示:

! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:fangjunyu1/SnapSlim.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这表示远程仓库的main分支已经存在内容,本地仓库没有这些内容,就需要安全合并远程代码。

1)将远程代码拉取到本地合并:

git pull --rebase origin main

2)再使用push推送:

git push -u origin main

这样,这样可以实现远程main分支和本地分支的合并,后续也可以使用git push推送数据。

git remote add origin … 作用

设置远程仓库的名称(默认命名为 origin)。

指定远程仓库的访问方式(HTTPS 或 SSH)。

后续 git push 或 git pull 时,会根据这个设置自动连接远程仓库。

可以使用以下命令查看已添加的远程仓库信息

1)查看远程仓库列表

git remote -v

示例输出:

origin  https://github.com/fangjunyu1/Banklet.git (fetch)
origin  https://github.com/fangjunyu1/Banklet.git (push)

2)查看远程仓库的详细信息

git remote show origin

示例输出:

* remote origin
  Fetch URL: https://github.com/fangjunyu1/Banklet.git
  Push  URL: https://github.com/fangjunyu1/Banklet.git
  HEAD branch: main
  Remote branch:
    main new (next fetch will store in remotes/origin)
  Local ref configured for 'git push':
main pushes to main (local out of date)

这个命令可以看到

远程仓库的URL(Fetch 和 Push)。

远程默认分支(HEAD branch)。

本地与远程分支的关联情况。

修改远程仓库

如果已经设置了一个origin的远程仓库,无法重复添加相同名称的远程仓库。如果想要修改远程仓库的访问方式,如从HTTPS切换到SSH,可以使用以下两种解决方案:

方案1:删除原来的origin,然后重新添加

如果确认之前的 origin 远程仓库 URL 需要更换(比如之前添加的是 HTTPS,现在想改为 SSH),可以先删除 origin,然后重新添加:

git remote remove origin  # 删除原有的远程仓库
git remote add origin git@github.com:fangjunyu1/Banklet.git  # 重新添加

然后可以检查是否添加成功:

git remote -v

如果正确,应该看到:

origin  git@github.com:fangjunyu1/Banklet.git (fetch)
origin  git@github.com:fangjunyu1/Banklet.git (push)

方案2:直接修改 origin 的 URL

如果只是想切换远程仓库的地址(比如从 HTTPS 切换到 SSH),可以直接使用:

git remote set-url origin git@github.com:fangjunyu1/Banklet.git

然后查看是否修改成功:

git remote -v

Git分支

因为下面的推送代码涉及到Git分支,因此这里作为一个科普分支的知识内容插入进来。

什么是分支?

Git 分支的作用就像“平行宇宙”,你可以在分支上自由修改代码,而不会影响其他分支。

当创建一个 Git 仓库时,默认会有一个主分支,早期 Git 默认是 master,但现在 Git 推荐使用 main 作为默认分支。

常见的分支名称

在实际开发中,不同分支有不同的用途,通常有以下几种常见的分支:

分支的实际用法

(1)查看当前分支

git branch

如果输出:

* main
  develop
  feature-login

表示当前在 main 分支(前面有 *)。

(2)创建一个新分支

创建 develop 分支:

git branch develop

但这样不会切换到 develop,还需要:

git checkout develop  # 切换到 develop

或者直接用:

git checkout -b develop  # 创建并切换到 develop

(3)切换分支

git checkout main  # 切换回 main 分支

(4)合并分支

如果在 develop 分支上开发完功能,想合并到 main:

git checkout main
git merge develop
为什么需要分支?

如果所有开发者都直接在 main 分支上工作,可能会出现:

代码冲突:多人修改同一个文件,推送时会冲突,难以管理。

不稳定性:如果某人推送了未完成的功能或有 bug 的代码,其他人拉取后可能导致整个项目无法运行。

无法并行开发:如果开发 A 还没完成,开发 B 需要修改相同的代码区域,可能会相互影响。

分支的作用

隔离开发:不同功能或修复可以在自己的分支上独立完成,不影响 main 分支。

减少冲突:每个人在自己的分支上开发,最后再合并到 main,降低直接冲突的可能。

保持稳定:main 分支通常是稳定的代码,只有经过测试和审核的代码才能合并进去。

多人协作

假设你和你的团队正在开发一个存钱罐应用 Banklet,你们使用 Git 进行版本管理。

(1) main 只存稳定的版本

你从远程仓库 git clone 下来,默认的 main 分支是 稳定版本,适用于发布给用户。

(2) develop 分支是所有开发工作的集合

git checkout -b develop  # 创建 develop 分支
git push -u origin develop  # 推送到远程

Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: 
remote: Create a pull request for 'develop' on GitHub by visiting:
remote:      https://github.com/fangjunyu1/Banklet/pull/new/develop
remote: 
To github.com:fangjunyu1/Banklet.git
 * [new branch]      develop -> develop
branch 'develop' set up to track 'origin/develop'.

develop 分支用来整合所有功能开发的代码,等稳定后再合并到 main。

(3)每个功能有自己的 feature/xxx 分支

如果要实现一个新的“每日存钱提醒”功能,可以创建一个 feature/reminder 分支:

git checkout -b feature/reminder develop  # 从 develop 创建新分支
# 编写代码...
git commit -am "添加每日存钱提醒"
git push -u origin feature/reminder  # 推送到远程

这样,你的代码不会影响 main 或 develop,其他人也可以并行开发其他功能。

-u 选项(–set-upstream)的作用:让 Git 记住远程 origin/feature/reminder,以后可以直接用 git push,而不需要指定 origin feature/reminder

在代码中使用git branch查看分支:

git branch       
develop
* feature/open-source
main

(4)开发完成后合并回 develop

git checkout develop	# 切换回 develop 分支
git merge feature/reminder  # 合并新功能
git push origin develop  # 推送到远程

这样,新功能不会影响 main,但已经集成到 develop,等待测试通过后,再合并到 main。

develop何时合并到main?

有两种方法可以把 develop 合并到 main:

方法 1:本地合并(推荐)

git checkout main  # 切换到 main
git merge develop  # 把 develop 合并到 main
git push origin main  # 推送 main 到远程

这在本地合并,然后推送到 GitHub。

方法 2:GitHub 上创建 Pull Request

1、打开GtHub仓库

2、切换到 develop 分支

3、点击 “Compare & pull request”

4、选择合并到 main

点击拉取请求后,会跳转到拉取请求页面。

5、点击 “Merge pull request”

点击“Confirm merge”后,显示“Pull request successfully merged and closed”,表示分支合并成功,并显示“Delete branch”删除分支的按钮。

点击“Delete branch”按钮后,会自动删除这一分支。

6、本地同步最新 main

git checkout main
git pull origin main  # 拉取 GitHub 最新的 main

这种方法适用于团队协作,可以在 GitHub 上先审核代码,再合并。

6、推送代码到 GitHub

git branch -M main
git push -u origin main

1)git branch -M main

作用:将当前分支重命名为 main。

-M 选项表示强制重命名(如果 main 已存在,会覆盖)。

如果最初初始化 Git 时默认分支是 master,执行这条命令后,分支会变成 main。

示例

git branch -M main

如果当前分支已经是 main,这条命令不会有任何影响。

2)git push -u origin main

作用:将 main 分支推送到远程仓库,并设置 main 为默认上游(upstream)分支。

-u(–set-upstream)让 main 分支与 origin/main 关联,这样以后只需 git push 而不需要指定 origin main。

origin 是远程仓库的名字,main 是推送的分支。

示例

git push -u origin main

如果未使用 git remote add origin,git push 会报错,因为 Git 不知道远程仓库地址。

如果之前已经运行过 git push -u origin main,以后只需:

git push  # 自动推送 main 分支

而不需要:

git push origin main  # 需要手动指定远程和分支
为什么使用git branch -M main?

1)社区标准的变化

2020 年左右,Git 社区和 GitHub 逐渐将默认分支名称从 master 改为 main,以减少对历史上“master-slave”(主从)概念的不当联想,同时提高通用性和可读性。

Git 2.28 及更新版本允许用户手动设置默认分支名称:

git config --global init.defaultBranch main

这样,新建仓库时默认分支就会是 main。

2)GitHub 和 GitLab 等平台默认使用 main

GitHub 2020 年 10 月起,新仓库默认分支变为 main。

GitLab 也在 2021 年后默认使用 main。

如果 Git 版本较老,默认仍然是 master,但 GitHub 新建仓库时默认是 main,这样本地 master 和远程 main 不匹配,可能会导致推送冲突。

解决方案:

git branch -M main   # 把 master 改名为 main
git push -u origin main   # 推送 main 分支到远程

3)团队协作和一致性

如果当前团队使用 main 作为默认分支,但你的 Git 仍然用 master,会导致混乱。

使用一致的命名方式可以避免误操作(例如 git push origin master 可能会失败)。

如果Git 仍然使用 master,建议修改默认设置:

git config --global init.defaultBranch main

然后,创建的新仓库都会默认使用 main。

8、Git基本操作

添加文件并提交

git add .
git commit -m "提交信息"

其中:

git add .:添加所有修改的文件。

git commit -m “提交信息”:提交更改,并写明修改说明。

推送代码到 GitHub

git push origin main

main 是默认的主分支,如果你的主分支是 master,则需要替换 main 为 master。

拉取最新代码

git pull origin main

如果在拉取的过程中出现“fatal: refusing to merge unrelated histories“报错,说明 本地仓库和远程仓库的历史记录完全不同,Git 认为它们不是同一个项目,因此拒绝合并。

如果想要合并远程的代码,同时保留本地改动,可以尝试:

git pull origin main –rebase

这个方法会把本地提交“移动”到远程提交的后面,使历史保持线性。

合并后,本地仓库比远程仓库文件更新,如果使用git status,会提示:

On branch main
nothing to commit, working tree clean

但实际上两个仓库文件并不一致,这是因为本地提交已存在,但尚未推送,需要执行

git push origin main

推送成功后,本地仓库和远程仓库代码保持一致。

远程协作

分支管理

创建新分支:

git checkout -b 新分支名

切换分支:

git checkout 分支名

合并分支:

git merge 目标分支

扩展知识

git push报错

git push origin develop  # 推送到远程

To github.com:fangjunyu1/Banklet.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:fangjunyu1/Banklet.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

git push 失败的原因是:远程仓库 main 分支的内容比本地 main 更新,而本地的代码没有这些更新,所以 Git 拒绝直接推送。

本地 main 和 远程 main 不同步,远程仓库可能已经有新的提交(例如,之前在 GitHub 上修改过文件,或者别人推送了代码)。

Git 不允许覆盖远程的更改,防止数据丢失。

方法 1:先拉取再推送(推荐)

git pull --rebase origin main  # 先拉取远程 main 分支并将本地变更重新应用
git push origin main  # 重新推送

git pull –rebase origin main 先获取远程仓库的最新代码,并把你的更改重新叠加在最新的 main 之上,避免冲突。

git push origin main 在代码合并后,成功推送到远程。

方法 2:如果你不关心远程代码,强制覆盖

警告:这会覆盖远程仓库的代码,可能导致别人提交的更改丢失

git push --force origin main

适用情况

确定远程仓库的 main 分支不需要(比如刚创建仓库,还没正式开发)。

但如果团队协作,强制推送可能导致他人的提交丢失!

方法 3:如果出现冲突,手动合并

如果 git pull 后提示冲突:

git merge origin/main  # 手动合并
git push origin main  # 解决冲突后推送

步骤

1)git pull –rebase origin main(如果失败,继续下一步)

2)git merge origin/main(合并远程更改)

3)手动解决冲突

4)git commit -am “解决冲突”

5)git push origin main

典型Git冲突问题

如果远程的main分支已经被其他人修改,本地的main分支也有修改,就会导致git push失败。需要先拉取远程的main并手动合并。

当你执行 git push origin main,Git 会拒绝推送,并提示:

! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:你的仓库.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally.

原因

1)你本地 main 有新的提交。

2)远程 main 也有新的提交(别人修改并推送了)。

3)你的 git push 会导致远程 main 被覆盖,所以 Git 阻止了推送。

解决方案

步骤 1:先拉取远程最新的 main

git fetch origin  # 获取远程更新,但不合并
git merge origin/main  # 合并远程的 main 到本地

可能出现冲突!如果有冲突,Git 会提示你哪些文件冲突了,你需要手动解决冲突。

步骤 2:解决冲突(如果有)

如果 Git 提示冲突:

Auto-merging example.txt
CONFLICT (content): Merge conflict in example.txt

手动解决

1、打开 Xcode 或 VSCode,找到标记为 <<<<<<< 的冲突文件:

<<<<<<< HEAD
你的本地修改内容
=======
远程仓库的修改内容
>>>>>>> origin/main

2、选择正确的内容,删除 <<<<<<< 和 ======= 标记。

3、标记为已解决:

git add .
git commit -m "解决 main 分支合并冲突"

步骤 3:推送合并后的 main

git push origin main

现在本地 main 已经同步了远程的 main,冲突已解决,推送会成功。

总结

本文的内容比较繁多,但总体的GitHub使用方法都在这篇文章当中。

GitHub比较复杂的还是关于分支的概念,在开发的过程中通常存在一个main分支,这个分支表示稳定/公开的版本。自己独立开发的话,可以考虑直接在main分支上开发,或者单独创建一个develop分支进行开发。

如果是多人开发的话,通常存在一个main分支,一个develop分支,每个人还会再单独创建一个独立的分支。在独立的分支上修改/解决问题后,将独立的分支同步到远程仓库中,在远程仓库中进行合并等相关操作。

对于分支的理解,可以比作备份。main分支是稳定的文件,如果要修改文件内容,应该设置一个备份,比如develop分支。但是如果开发人员比较多,那么它们都会拉取并修改develop这个备份分支。在修改的过程中,就会存在Git冲突等问题。

因此,解决这一冲突时,就需要从远程仓库拉取develop分支,然后进行合并,并重新推送到远程仓库。如果每个人需要修改代码的某一个功能逻辑,就可以单独创建功能分支,然后同步到远程仓库。最后可以在远程仓库(如Github)将功能分支合并到develop分支,如果存在冲突,则需要解决冲突后进行合并。

分裂和合并更像是GitHub分支的主旋律。

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注