> 技术文档 > 【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置


文章目录

    • 一,gitee配置部分
      • 1. 用户名和邮箱设置
      • 2. 创建仓库
    • 二,git配置部分(Ubuntu)
      • 1. 安装 Git
      • 2. 配置 Git 用户名和邮箱
      • 3. 初始化本地代码仓库
      • 4. 设置上传文件目录
      • 5. 添加文件到暂存区
      • 6. 提交代码到本地仓库
      • 7. 关联本地仓库和 Gitee 远程仓库
      • 8. 推送代码到 Gitee 仓库
      • 9. 使用 Git 凭证存储
    • 三,冲突处理
      • 1. 先拉取再合并
      • 2. 手动解决冲突
    • 三,私有分支开发
      • 1. 创建并切换到私有分支
      • 2. 添加修改到暂存区
      • 3 提交修改到本地私有分支
      • 4. 推送私有分支到远程仓库
    • 四,分支合并
      • 1. 确保本地仓库是最新状态
      • 2. 逐个合并私有分支
      • 3. 推送合并后的分支到远程仓库
    • vscode使用git
    • 常用git操作
      • 1. 推送
      • 2. 放弃本地修改,直接拉取
      • 3.暂存当前分支的修改,切换到另一分支

一,gitee配置部分

1. 用户名和邮箱设置

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置
gitee注册阶段,主要需要记录两个信息,用户名和邮箱地址,该信息会在git的设置中用到

2. 创建仓库

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

  • 建立仓库时建立采用master-develop-Release模式;
  • 开发人员建立自己的私有分支,独立开发时,与自己的独立分支进行同步;
  • 代码版本更新时,在develop分支尝试合并,功能调通完成且无误后,合并到主分支;

二,git配置部分(Ubuntu)

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

1. 安装 Git

sudo apt updatesudo apt install git

2. 配置 Git 用户名和邮箱

这些信息会与 Gitee 上的账户关联。在终端中执行以下命令,将 Your Name 和 your_email@example.com 替换为自己的信息:

git config --global user.name Your Namegit config --global user.email your_email@example.com

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

3. 初始化本地代码仓库

打开终端,进入包含你代码的目录,然后初始化一个新的 Git 仓库:

cd /path/to/your/codegit init

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置
打开显示隐藏文件选项,可以看到git的文件
【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

4. 设置上传文件目录

在类似ns-3的大型仿真工具中,build/等目录占用空间较大,且不涉及开发源码,可以选择不上传;
4.1 创建或编辑 .gitignore 文件
在你的项目根目录下检查是否已经存在 .gitignore 文件,如果不存在,可以使用以下命令创建一个:

touch .gitignore

如果已经存在,直接使用文本编辑器(如 vim、nano 等)打开该文件进行编辑:

nano .gitignore

4.2 添加 build 目录到 .gitignore 文件
在打开的 .gitignore 文件中添加以下内容:

build/

这行代码表示忽略项目根目录下的 build 目录及其所有子目录和文件

进一步地,ns-3可以仅仅保留src/scratch/目录,则设置 .gitignore如下:

# 忽略所有文件和目录*# 不忽略 src 目录及其子内容!src/!src/**# 不忽略 scratch 目录及其子内容!scratch/!scratch/**# 不忽略 .gitignore 文件本身!.gitignore

5. 添加文件到暂存区

将代码目录中的所有文件添加到 Git 的暂存区:

git add .

6. 提交代码到本地仓库

将暂存区的文件提交到本地仓库,并添加提交说明:

git commit -m \"Initial commit\"

7. 关联本地仓库和 Gitee 远程仓库

使用以下命令将本地仓库与 Gitee 上的远程仓库关联起来:

# http地址在gitee中查到git remote add origin https://gitee.com/qianzhang1123/ns-3-irudp.git

8. 推送代码到 Gitee 仓库

将本地仓库的代码推送到 Gitee 上的远程仓库:

git push -u origin master

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

9. 使用 Git 凭证存储

默认情况下,每次推送操作都需要输入用户名和密码,我们可以让 Git 永久存储凭证信息:

git config --global credential.helper store

当下一次进行需要认证的操作时,输入用户名和密码后,Git 会将这些信息存储在 ~/.git-credentials 文件中,之后的操作就无需再次输入。

三,冲突处理

在推送操作时,可能会遇到以下报错:
【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置
表明远程仓库的 master 分支上有你本地仓库没有的提交,即远程仓库和本地仓库的提交历史出现了分歧。Git 为了避免覆盖远程仓库的代码,拒绝了你的推送请求。

1. 先拉取再合并

最常用的方式,能将远程仓库的更新合并到本地分支,然后再推送。

git pull origin master
  • 无冲突情况:如果拉取和合并过程中没有冲突,Git 会自动完成合并操作,之后你就可以再次尝试推送:
git push origin master

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

2. 手动解决冲突

查看冲突文件:
使用 git status 命令查看哪些文件存在冲突。

git status

打开有冲突的文件,会看到类似如下的标记:

<<<<<<< HEAD本地代码=======远程代码>>>>>>> 分支名

需要根据实际情况,选择保留哪些代码,删除冲突标记。例如,若想保留本地代码,可删除 ======= 及其下面的部分和 >>>>>>> 分支名;若想保留远程代码,可删除 <<<<<<< HEAD 和 ======= 及其上面的部分。

解决完冲突后,使用 git add 命令将解决冲突后的文件添加到暂存区。

git add <冲突文件路径>

提交合并结果:使用 git commit 命令提交合并结果

git commit -m \"解决与远程仓库的冲突\"

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置
最后推送即可:

git push origin master

【开发工具】Ubuntu下Git工具项目代码管理:配置、拉取、推送、冲突处理(托管仓库:Gitee)_ubuntu git配置

三,私有分支开发

以下是建立私有分支并提交你在 src/ 目录下编辑的代码的详细步骤:

1. 创建并切换到私有分支

使用 git switch 命令创建并切换到一个新的私有分支

git switch -c private-branch

private-branch 是要创建的私有分支的名称

2. 添加修改到暂存区

使用 git add 命令将 src/ 目录下的修改添加到暂存区。

git add src/

此命令会将 src/ 目录下所有有修改的文件添加到暂存区。

3 提交修改到本地私有分支

使用 git commit 命令将暂存区的修改提交到本地的私有分支,并添加有意义的提交信息,方便后续查看和理解此次提交的内容。

git commit -m \"Update modules in src/ directory\"

4. 推送私有分支到远程仓库

将本地的私有分支推送到远程仓库,以便其他团队成员查看或协作

git push -u origin private-branch

-u 选项会将本地分支和远程分支进行关联,以后再推送该分支时,只需使用 git push 即可。

四,分支合并

作为管理员,将多个私有分支合并到一个目标分支。下面以 private-branch私有分支合并到 master 分支为例:

1. 确保本地仓库是最新状态

在进行合并操作之前,要保证本地仓库的目标分支是最新的,避免出现不必要的冲突。

# 切换到目标分支git switch master# 拉取远程仓库的最新内容git pull origin master

2. 逐个合并私有分支

逐个将私有分支合并到目标分支。在合并每个分支之前,可以先查看分支的提交历史,确认是否有需要注意的地方。

# 查看私有分支的提交历史git log private-branch# 合并第一个私有分支到 master 分支git merge private-branch

如果在合并过程中没有冲突,Git 会自动完成合并操作。如果出现冲突,Git 会在有冲突的文件中标记出冲突部分,需要手动解决这些冲突。

3. 推送合并后的分支到远程仓库

当所有私有分支都合并到目标分支后,将合并后的目标分支推送到远程仓库。

git push origin master

vscode使用git

【手把手教你在VS Code中使用 Git】vscode的git功能有相对方便的可视化界面,该部分已经有比较详细的文章:
https://blog.csdn.net/techforward/article/details/133203445

常用git操作

1. 推送

git statusgit add src/*git commnit -m \"xxxxxx\"git push

2. 放弃本地修改,直接拉取

git reset --hard HEADgit pull origin lcy

3.暂存当前分支的修改,切换到另一分支

git stashgit checkout lcy...git stash pop # 恢复之前暂存的修改