Git 使用教程
常规操作
开始前我们需要先设置提交的用户信息,包括用户名和邮箱:
1 | $ git config --global user.name 'name' |
创建版本库
首先,打开终端或命令行界面,进入要创建版本库的目录下。
接着,使用以下命令初始化一个空的 Git 仓库:
1 | git init |
然后,将需要管理的文件添加到暂存区:
1 | git add |
你也可以使用以下命令一次性将所有变更添加到暂存区:
1 | git add . |
接下来,提交暂存区中的变更到本地仓库,并添加一个描述信息:
1 | git commit -m '第一次版本提交' |
现在,你已经成功地创建了一个版本库。你可以使用其他 Git 命令来管理它,例如:
git status:查看当前工作区和暂存区的状态。
git log:查看提交记录。
git branch:管理分支。
git remote:管理远程仓库。
远程仓库
如何添加远程仓库
要将本地代码库连接到远程仓库,可以使用以下git命令:
首先,将本地代码库初始化为Git仓库(如果尚未完成):
1 | git init |
添加远程仓库的URL,其中
1 | git remote add <remote-name> <remote-url> |
可以使用以下命令确认远程仓库是否已成功添加:
1 | git remote -v |
此后,您就可以使用 git push
命令将代码推送到远程仓库,或使用 git pull
命令从远程仓库拉取代码。
从远程库克隆
要从远程仓库克隆代码到本地,可以使用以下git命令:
1 | git clone <remote-url> |
其中
1 | git clone <remote-url> <directory-name> |
创建与合并分支
创建一个新的分支可以使用以下命令:
1 | git branch <branch_name> |
这将在当前所在的提交上创建一个名为 <branch_name> 的新分支。
要切换到新创建的分支,可以使用以下命令:
1 | git checkout <branch_name> |
创建并立即切换到该分支,可以使用以下命令:
1 | git checkout -b <branch_name> |
合并分支可以使用以下命令:
1 | git merge <branch_name> |
这将将 <branch_name> 分支中的更改合并到当前分支。
推送分支
在 Git 中,推送分支指将本地的分支提交到远程仓库中,使得其他团队成员可以访问和获取该分支的代码。以下是在 Git 中推送分支的一些常用命令:
推送当前分支到远程仓库,并与远程分支关联:
1 | git push -u origin <branch-name> |
推送当前分支到远程仓库,并与远程分支合并:
1 | git push origin <branch-name> |
强制推送当前分支到远程仓库:
1 | git push -f origin <branch-name> |
删除远程分支:
1 | git push origin :<branch-name> |
或
1 | git push --delete origin <branch-name> |
在推送分支时,通常会遇到冲突等问题。如果发生冲突,需要先解决冲突,然后再进行推送。
处理冲突
当两个分支上的代码修改了同一部分,并且尝试将这两个分支合并时,就会发生代码冲突。Git提供了以下步骤来解决冲突:
运行 git status
命令查看哪些文件包含冲突。
编辑有冲突的文件,手动解决文件中的冲突。
对编辑后的文件进行 git add
,标记为已解决冲突的文件。
使用 git commit
提交更改,Git 会自动生成一个合并提交,其中包含各自分支中的更改。
注意:在解决冲突前,最好先备份当前的代码状态,以免不小心破坏代码库。另外,在处理冲突之前,可以通过运行 git diff
命令来查看冲突的源代码,以便更好地理解要解决的问题。
分支管理策略
在 Git 中,常见的分支管理策略包括以下几个方面:
- 主分支:主分支通常是最稳定的分支,用于发布生产版本。在 Git 中,主分支通常是 master 分支或者 main 分支。
- 开发分支:开发分支通常从主分支派生而来,在其上进行新功能或修复错误的开发。在 Git 中,通常使用 develop 分支作为开发分支。
- 特性分支:特性分支是为了开发单独的功能而创建的分支。这些分支通常从开发分支派生而来,并在实现目标后被合并回开发分支。在 Git 中,通常使用 feature/ 分支命名约定来表示特性分支。
- 发布分支:发布分支是用于准备发布版本的分支,通常从主分支派生而来。这些分支应该包含与发布相关的所有更改,并且应该经过全面测试和审核后再合并回主分支。在 Git 中,通常使用 release/ 分支命名约定来表示发布分支。
- 热修复分支:热修复分支通常用于快速修复紧急问题,例如安全漏洞或崩溃。这些分支通常从主分支派生而来,并且只包含必要的更改。在 Git 中,通常使用 hotfix/ 分支命名约定来表示热修复分支。
具体操作
克隆仓库
1 | git clone git@github.com:TOE-RC/robotmaster-c.git |
提交仓库
在本地更改并且保存后,使用这条命令一次性将所有变更添加到暂存区
1 | git add . |
提交暂存区中的变更到本地仓库,并添加一个描述信息:
1 | git commit -m '第一次版本提交' |
提交到远程仓库
1 | git push |
处理冲突
在你提交之前假设有其他人提交了新的版本,这时候提交就会出现冲突错误
建议使用VSCode自带的插件
覆盖仓库
本地初始化Git文件夹 git init
,绑定远程仓库 git remote add robotmaster-c git@github.com:TOE-RC/robotmaster-c.git
,检测仓库是否成功添加 git remote -v
。
这里 git pull
出现了错误,提示如果你想要拉取并合并特定的分支,你需要指定远程仓库和分支名 git pull remote branch
,或者为当前分支设置跟踪信息,之后,你就可以简单地使用 git pull
来拉取最新的代码,而不需要每次都指定远程仓库和分支。
首先先建立本地分支进行第一次提交
1 | git add . |
获取远程仓库的所有分支信息:
1 | git fetch |
设置跟踪远程 main
分支
1 | git branch --set-upstream-to=robotmaster-c/main master |
此时即可 git pull --allow-unrelated-histories