如果您也是 Git 的新手,想要弄清楚如何克隆、修改和推送更改至 GitHub 可能会让您感到不知所措。在本指南中,我们将逐步介绍如何完成这些操作。
如何在本地修改并推送更改至 GitHub
## 步骤 1:克隆仓库
第一步是将仓库克隆到本地机器。要执行此操作,请运行以下命令:
git clone <repository-url>
## 步骤 2:创建新分支
接下来,为您的更改创建一个新分支。这样可以在不影响主分支的情况下进行更改。要创建新分支,请运行以下命令:
git checkout -b <new-branch-name>
这相当于复制远程仓库到本地的新分支xxx上。
## 步骤 3:进行更改
现在,您可以对代码进行更改。只需修改或添加新代码即可。
## 步骤 4:查看更改
要查看您所做的更改,请运行以下命令:
git diff
这将显示您所做的所有更改的列表。
## 步骤 5:添加更改
一旦您对更改满意,就可以使用以下命令将它们添加到暂存区:
git add .
这将暂存您所做的所有更改。
## 步骤 6:提交更改
在将更改暂存后,请使用描述您所做更改的消息提交它们:
git commit -m "Your commit message here"
## 步骤 7:推送更改
最后,使用以下命令将更改推送到 GitHub:
git push origin <new-branch-name>
这将把本地xxx分支上传至 GitHub 上的 git。
更新分支以反映远程更改
在进行长期项目时,可能会有多个贡献者。这时候,当您在自己的分支上进行修改时,远程主分支可能已经发生了更改。为了更新本地分支以反映远程更改,请按照以下步骤操作:
1. 使用以下命令切换回主分支:
git checkout main
2. 使用以下命令从主分支拉取最新的更改:
git pull origin main
3. 使用以下命令切换回您自己的分支:
git checkout <new-branch-name>
4. 使用以下命令将主分支合并到您自己的分支中:
git rebase main
这将把主分支移动到您自己的分支中,并根据您的提交来修改内容。
5. 如果出现冲突,请手动选择保留哪段代码。
6. 最后,使用以下命令将更新后的代码推送到远程 GitHub 上:
git push -f origin <new-branch-name>
-f 参数表示强制推送。
7. 原项目主人可以使用 pull request 中的 squash and merge 合并所有不同的 commit。
假设您的 GitHub 用户名为 example,您 fork 了一个名为 original-repository 的仓库,并在其中做了一些更改。您提交了三个 commit,每个 commit 都对代码进行了不同的更改。现在,您想要将这些更改合并到原始仓库中。操作流程如下:
graph TD;
A[将更改推送到您 fork 的仓库中] --> B[在 GitHub 上创建新的 pull request];
B --> C[等待原始仓库的维护人员审核您的更改];
C --> D[完成更改并将更改推送到您 fork 的仓库中];
D --> E{是否有冲突};
E -- 有冲突 --> D;
E -- 没有冲突 --> F[使用 "Squash and merge" 选项将所有不同的 commit 合并成一个 commit];
F --> G[提供一个描述性的提交消息];
G --> H[等待合并操作完成];
H --> I[所有不同的 commit 已被合并成一个 commit,并已被推送到原始仓库中];
远程更新完成后
1. 使用以下命令删除本地分支:
git branch -d <new-branch-name>
2. 使用以下命令从远程拉取最新代码:
git pull origin main
这些就是我们初始使用 Git 的基础知识了!