详情

首页手游攻略 从Gitee拉取项目到上传修改的完整流程实用指南

从Gitee拉取项目到上传修改的完整流程实用指南

佚名 2026-09-08 13:10:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“从Gitee拉取项目到上传修改的完整流程”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

目录
  • 引言
  • 第一部分:Git基础概念回顾
    • 1.1 Git的核心工作区
    • 1.2 本地仓库与远程仓库的关系
  • 第二部分:从Gitee克隆项目到本地
    • 2.1 初始环境准备
    • 2.2 设置Git用户信息(首次采用)
    • 2.3 克隆远程仓库
  • 第三部分:日常开发工作流详解
    • 3.1 完整示例:从拉取到提交的全过程
      • 场景描述
    • 3.2 处理常用的协作场景
      • 场景A:同步他人提交的更改
      • 场景B:撤销错误的提交
  • 第四部分:从零新建项目并推送到Gitee
    • 第五部分:Git最佳实践和高级技巧
      • 5.1 提交信息的规范
        • 5.2 .gitignore文件的设置
          • 5.3 分支管理策略
            • 5.4 高效的Git命令别名
            • 第六部分:常用问题与解决方案
              • 6.1 推送时遇到冲突
                • 6.2 误提交了敏感信息
                  • 6.3 恢复误删的文件或分支
                  • 结语
                    • 附件:完整命令流程示例
                      • 示例一:从Gitee克隆项目并完成首次功能开发
                        • 示例二:本地新建项目并推送到Gitee
                          • 示例三:常用Git操作快捷命令
                            • 示例四:错误处理和恢复操作

                            引言

                            结合项目来看,在当今的软件开发里,Git已经成为版本控制的代名词。无论是个人项目还是团队协作,掌握Git的基本工作流程都是每一位开发者必备的技能。作为中国开发者常用的代码托管平台,Gitee提供了稳定高效的Git服务。下面会系统梳理从Gitee拉取项目到上传修改的完整流程,同时结合实际示例帮助读者更快掌握Git的核心操作。

                            第一部分:Git基础概念回顾

                            1.1 Git的核心工作区

                            在深入具体命令之前,我们需理解Git的三个重要区域:

                            • 工作区 (Working Directory):你实际编辑文件的地方
                            • 暂存区 (Staging Area):准备提交的文件暂存区域
                            • 仓库 (Repository):存储项目历史记录和版本信息

                            1.2 本地仓库与远程仓库的关系

                            在这个场景下,Git的分布式特性意味着每个开发者都有完整的仓库副本。远程仓库(如Gitee)作为中央协作点,用来同步各个开发者的代码变更。

                            第二部分:从Gitee克隆项目到本地

                            2.1 初始环境准备

                            在开始之前,确保你的系统已经安装了Git。能够借助以下命令检查:

                            git --version

                            若未安装,请访问Git官网下载安装包。

                            2.2 设置Git用户信息(首次采用)

                            理解这一步时,首次采用Git时,需设置你的身份信息,这些信息会包含在每一次提交记录中:

                            git config --global user.name "你的姓名"
                            git config --global user.email "你的邮箱"
                            git config --global core.editor "vim" 设置默认编辑器,可选

                            2.3 克隆远程仓库

                            克隆是将远程仓库完整复制到本地的过程。Gitee提供两种URL协议:

                            • HTTPS协议:适合初学者,无需额外设置
                            • SSH协议:更安全,适合频繁操作

                            SSH密钥设置(建议)

                             生成SSH密钥对
                            ssh-keygen -t rsa -C "[email protected]"

                             查看公钥
                            cat ~/.ssh/id_rsa.pub

                            实际处理时,将公钥内容复制到Gitee的SSH密钥设置页面(个人设置 → SSH公钥)。

                            克隆命令

                             使用HTTPS克隆
                            git clone https://gitee.com/username/project-name.git

                             使用SSH克隆(配置好SSH密钥后)
                            git clone [email protected]:username/project-name.git

                            克隆完成后,会自动新建一个与仓库同名的目录,同时初始化本地仓库。

                            第三部分:日常开发工作流详解

                            3.1 完整示例:从拉取到提交的全过程

                            让我们借助一个具体的例子来演示完整的Git工作流程。

                            场景描述

                            从实现思路看,假设我们加入了一个名为"blog-system"的开源项目团队,需添加一个文章分类功能。

                            步骤1:克隆项目到本地

                             克隆项目
                            git clone [email protected]:team-name/blog-system.git

                             进入项目目录
                            cd blog-system

                            步骤2:查看当前分支状态

                             查看所有分支
                            git branch -a

                             输出示例:
                             * main
                               remotes/origin/main
                               remotes/origin/develop

                            步骤3:新建功能分支
                            良好的分支策略能保持主分支的稳定性。我们为新建功能新建独立分支:

                             创建并切换到新分支
                            git checkout -b feature/article-category

                             查看当前分支
                            git branch
                             输出:* feature/article-category

                            步骤4:拿到最新代码(多人协作时很重要)
                            在开始编码前,确保你的基础代码是最新的:

                             切换到主分支
                            git checkout main

                             拉取远程最新代码
                            git pull origin main

                             切换回功能分支并合并主分支更新
                            git checkout feature/article-category
                            git merge main

                            步骤5:进行开发工作
                            现在能够开始编写代码了。假设我们新建了两个新文件:

                             创建分类模型文件
                            touch models/category.py

                             创建分类视图文件
                            touch views/category_view.py

                             编辑一些现有文件
                            vim controllers/article_controller.py

                            步骤6:查看和审查更改
                            完成代码编写后,查看我们做了哪些修改:

                             查看工作区状态
                            git status

                             输出示例:
                             On branch feature/article-category
                             Changes not staged for commit:
                               (use "git add <file>..." to update what will be committed)
                               (use "git restore <file>..." to discard changes in working directory)
                                 modified: controllers/article_controller.py
                                 modified: README.md
                            #
                             Untracked files:
                               (use "git add <file>..." to include in what will be committed)
                                 models/category.py
                                 views/category_view.py

                            查看具体的代码变更:

                             查看具体修改内容
                            git diff controllers/article_controller.py

                             查看所有变更的摘要
                            git diff --stat

                            步骤7:将更改添加到暂存区
                            选择性地或全部添加更改到暂存区:

                             添加特定文件
                            git add models/category.py
                            git add views/category_view.py

                             或者添加所有更改(谨慎使用)
                            git add .

                             再次查看状态
                            git status
                             此时会显示"Changes to be committed"

                            步骤8:提交更改到本地仓库

                             提交更改
                            git commit -m "feat: 添加文章分类功能

                            - 创建Category数据模型
                            - 实现分类的CRUD操作
                            - 在文章控制器中集成分类选择
                            - 更新相关文档"

                             查看提交历史
                            git log --oneline -5

                            步骤9:推送到远程仓库

                             推送到Gitee
                            git push origin feature/article-category

                             如果是首次推送该分支,使用-u参数建立跟踪关系
                            git push -u origin feature/article-category

                            步骤10:新建合并请求(Pull Request)
                            推送完成后,在Gitee页面上:

                            1. 进入项目页面
                            2. 点击"Pull Requests"
                            3. 点击"新建Pull Request"
                            4. 选择源分支(feature/article-category)和目标分支(develop或main)
                            5. 填写说明并提交

                            3.2 处理常用的协作场景

                            场景A:同步他人提交的更改

                            你正在开发时,队友可能已经推送了新的提交:

                             保存当前未提交的更改(可选)
                            git stash

                             获取远程更新
                            git fetch origin

                             合并到当前分支
                            git merge origin/main

                             恢复暂存的更改(如果使用了stash)
                            git stash pop

                             解决可能的冲突
                             编辑有冲突的文件,然后:
                            git add <解决冲突的文件>
                            git commit -m "解决合并冲突"

                            场景B:撤销错误的提交

                             撤销最后一次提交,保留更改在工作区
                            git reset --soft HEAD~1

                             完全撤销最后一次提交,丢弃更改
                            git reset --hard HEAD~1

                             撤销特定的提交(创建反向提交)
                            git revert <commit-hash>

                            第四部分:从零新建项目并推送到Gitee

                            完整示例:本地新建Git项目

                            理解这一步时,有时候我们需从零开始一个项目,随后将其推送到Gitee进行管理和协作。

                            步骤1:在Gitee新建空仓库

                            1. 登录Gitee,点击右上角"+"号
                            2. 选择"新建仓库"
                            3. 填写仓库名称、描述等信息
                            4. 不要初始化README、.gitignore等文件(我们将从本地新建)
                            5. 点击"新建"

                            步骤2:本地初始化项目

                             创建项目目录
                            mkdir my-new-project
                            cd my-new-project

                             初始化Git仓库
                            git init

                             查看状态
                            git status

                            步骤3:新建项目文件

                             创建基础项目结构
                            echo " My New Project" > README.md
                            echo "__pycache__/" > .gitignore
                            echo "*.pyc" >> .gitignore
                            echo "venv/" >> .gitignore

                             创建源代码目录和文件
                            mkdir src
                            touch src/main.py
                            touch src/__init__.py

                             创建配置文件
                            touch config.yaml

                            步骤4:首次提交

                             添加所有文件
                            git add .

                             提交初始版本
                            git commit -m "初始提交:项目基础结构"

                             查看提交历史
                            git log --oneline

                            步骤5:连接远程仓库

                             添加远程仓库地址
                            git remote add origin [email protected]:username/my-new-project.git

                             验证远程仓库
                            git remote -v
                             输出:
                             origin [email protected]:username/my-new-project.git (fetch)
                             origin [email protected]:username/my-new-project.git (push)

                            步骤6:推送代码

                             推送代码到Gitee
                            git push -u origin main

                             如果遇到错误,可能是因为远程仓库有README文件
                             可以先拉取再推送
                            git pull origin main --allow-unrelated-histories
                            git push origin main

                            步骤7:后续开发流程
                            现在项目已经在Gitee上,后续开发就回到了我们熟悉的流程:

                             开发新功能
                            echo "print('Hello, Git!')" > src/main.py

                             提交更改
                            git add src/main.py
                            git commit -m "添加主程序入口"

                             推送更新
                            git push origin main

                            第五部分:Git最佳实践和高级技巧

                            5.1 提交信息的规范

                            结合项目来看,良好的提交信息有助于团队协作和后期维护。建议采用Conventional Commits规范:

                            <类型>[可选范围]: <描述>

                            [可选正文]

                            [可选脚注]

                            常用类型:

                            • feat: 新功能
                            • fix: 修复bug
                            • docs: 文档更新
                            • style: 代码格式调整
                            • refactor: 重构代码
                            • test: 测试相关
                            • chore: 构建过程或辅助工具变动

                            5.2 .gitignore文件的设置

                            合理设置.gitignore能够避免将不必要的文件提交到仓库:

                             操作系统文件
                            .DS_Store
                            Thumbs.db

                             编辑器文件
                            .vscode/
                            .idea/
                            *.swp
                            *.swo

                             运行时文件
                            __pycache__/
                            *.pyc
                            *.pyo

                             依赖目录
                            node_modules/
                            venv/
                            .env

                             日志文件
                            *.log

                             构建产物
                            dist/
                            build/

                            5.3 分支管理策略

                            建议采用Git Flow或简化版的分支策略:

                            • main/master: 生产就绪代码
                            • develop: 开发集成分支
                            • feature/: 功能开发分支
                            • hotfix/: 紧急修复分支
                            • release/: 发布准备分支

                            5.4 高效的Git命令别名

                            设置别名能够大大提高工作效率:

                             添加到~/.gitconfig或使用命令
                            git config --global alias.co checkout
                            git config --global alias.br branch
                            git config --global alias.ci commit
                            git config --global alias.st status
                            git config --global alias.unstage 'reset HEAD --'
                            git config --global alias.last 'log -1 HEAD'
                            git config --global alias.graph "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

                            第六部分:常用问题与解决方案

                            6.1 推送时遇到冲突

                             先拉取最新代码
                            git pull origin main

                             解决冲突(编辑标记了冲突的文件)
                             添加解决后的文件
                            git add <冲突文件>

                             继续合并
                            git commit

                             重新推送
                            git push origin main

                            6.2 误提交了敏感信息

                             从历史中完全删除包含敏感信息的文件
                            git filter-branch --force --index-filter
                              "git rm --cached --ignore-unmatch config/password.txt"
                              --prune-empty --tag-name-filter cat -- --all

                             强制推送到远程(警告:这会重写历史)
                            git push origin --force --all

                            6.3 恢复误删的文件或分支

                             查看所有提交记录(包括已删除的)
                            git reflog

                             恢复特定的提交
                            git checkout <commit-hash> -- <文件名>

                             恢复被删除的分支
                            git checkout -b restored-branch <commit-hash>

                            结语

                            在这个场景下,Git是一个强大而灵活的工具,掌握其基本工作流程是每个开发者的必修课。借助本文的细致说明和实际示例,相信你已经掌握了从Gitee拉取项目到上传修改的完整流程。记住,Git的精髓在于"小步快跑,频繁提交"——不要等到完成一个大功能才提交,而是将工作分解为多个小提交。

                            从实现思路看,实践是学习Git的最佳途径。建议你立即新建一个Gitee账户,按照本文的示例实际操作一遍,从克隆现有项目开始,逐步尝试新建自己的项目同时推送到远程仓库。随着实践的增加,你会越来越熟练地采用Git管理你的代码。

                            Git常用命令速查手册(附详细注释)

                            附件:完整命令流程示例

                            示例一:从Gitee克隆项目并完成首次功能开发

                             ====================================================
                             第一部分:环境准备和项目克隆
                             ====================================================

                             1. 配置全局用户信息(首次使用Git时需要)
                            git config --global user.name "张三"
                            git config --global user.email "[email protected]"

                             2. 配置SSH密钥(可选,但推荐)
                            ssh-keygen -t rsa -b 4096 -C "[email protected]"
                             执行后会生成~/.ssh/id_rsa和~/.ssh/id_rsa.pub文件

                             3. 复制公钥到剪贴板(macOS)
                            pbcopy < ~/.ssh/id_rsa.pub
                             Linux系统使用:cat ~/.ssh/id_rsa.pub | xclip -selection clipboard

                             4. 克隆项目到本地(使用HTTPS)
                            git clone https://gitee.com/team-name/project.git
                             使用SSH克隆:git clone [email protected]:team-name/project.git

                             5. 进入项目目录
                            cd project

                             ====================================================
                             第二部分:分支管理和开发准备
                             ====================================================

                             6. 查看所有分支(本地和远程)
                            git branch -a
                             带*号的是当前所在分支

                             7. 创建并切换到新的功能分支
                            git checkout -b feature/user-authentication
                             -b参数表示创建新分支并切换

                             8. 确保本地分支与远程主分支同步
                            git fetch origin
                             获取远程所有更新但不合并

                             9. 查看远程分支的更新情况
                            git log origin/main --oneline -5
                             显示远程主分支最近5条提交

                             10. 合并远程主分支的更新到当前分支
                            git merge origin/main
                             如果出现冲突,需要手动解决

                             ====================================================
                             第三部分:开发过程中的代码管理
                             ====================================================

                             11. 开发过程中查看工作区状态
                            git status
                             显示哪些文件被修改、添加或删除

                             12. 查看具体的文件修改内容
                            git diff src/models/user.py
                             查看user.py文件的详细修改

                             13. 添加新创建的文件到暂存区
                            git add src/models/user.py
                            git add src/controllers/auth_controller.py

                             14. 添加修改的现有文件
                            git add src/utils/validator.py

                             15. 批量添加所有修改和新文件(谨慎使用)
                            git add .
                             或者 git add --all

                             16. 添加时排除某些文件
                            git add src/* -- ':!src/tests/' ':!*.log'
                             添加src目录下除了tests和.log文件外的所有

                             17. 从暂存区移除误添加的文件
                            git reset HEAD src/config.temp.json
                             文件保留在工作区,只是从暂存区移除

                             18. 查看暂存区内容
                            git diff --cached
                             显示即将提交的更改

                             19. 提交更改到本地仓库
                            git commit -m "feat: 实现用户认证功能

                            - 添加User数据模型
                            - 实现JWT token生成和验证
                            - 创建登录和注册接口
                            - 添加密码加密功能

                            Closes #123"
                             多行提交信息,第一行是摘要,空行后是详细说明

                             20. 查看提交历史
                            git log --oneline --graph -10
                             显示图形化提交历史,最近10条

                             21. 开发过程中临时保存未完成的工作
                            git stash
                             将未提交的更改保存到临时栈

                             22. 查看所有暂存的更改
                            git stash list
                             显示stash栈中的所有条目

                             23. 恢复最近一次暂存的更改
                            git stash pop
                             应用并删除栈顶的暂存

                             24. 恢复特定暂存
                            git stash apply stash@{1}
                             应用但不删除指定的暂存

                             ====================================================
                             第四部分:推送到远程仓库
                             ====================================================

                             25. 推送当前分支到远程仓库(首次推送)
                            git push -u origin feature/user-authentication
                             -u参数设置上游分支,后续可直接使用git push

                             26. 查看远程仓库信息
                            git remote -v
                             显示所有远程仓库地址

                             27. 查看特定远程分支的详细信息
                            git remote show origin

                             28. 推送到远程仓库(非首次)
                            git push origin feature/user-authentication

                             29. 强制推送(谨慎使用,会覆盖远程历史)
                            git push -f origin feature/user-authentication
                             仅在必要时使用,如rebase后

                             ====================================================
                             第五部分:团队协作和代码同步
                             ====================================================

                             30. 拉取远程分支的更新
                            git pull origin main
                             相当于git fetch + git merge

                             31. 使用rebase方式更新(保持线性历史)
                            git fetch origin
                            git rebase origin/main
                             将本地提交应用到远程更新之后

                             32. 查看文件修改历史
                            git log --follow -p src/models/user.py
                             显示user.py文件的完整修改历史

                             33. 查看谁在什么时间修改了哪一行
                            git blame src/models/user.py
                             显示每行代码的最后修改者和时间

                             34. 撤销上一次提交但保留更改
                            git reset --soft HEAD~1
                             回退到上一个提交,更改保留在工作区

                             35. 完全撤销上一次提交
                            git reset --hard HEAD~1
                             彻底删除上一次提交,谨慎使用

                             36. 创建撤销某个提交的新提交
                            git revert <commit-hash>
                             安全的撤销方式,会创建新的反向提交

                            示例二:本地新建项目并推送到Gitee

                             ====================================================
                             第一部分:项目初始化
                             ====================================================

                             1. 创建项目目录
                            mkdir my-awesome-project
                            cd my-awesome-project

                             2. 初始化Git仓库
                            git init
                             创建.git目录,开始版本控制

                             3. 创建项目基础结构
                            echo " My Awesome Project" >> README.md
                            echo "这是项目描述" >> README.md

                             4. 创建.gitignore文件
                            cat > .gitignore << EOF
                             依赖目录
                            node_modules/
                            venv/
                            __pycache__/

                             环境文件
                            .env
                            .env.local

                             日志文件
                            *.log
                            npm-debug.log*

                             编辑器文件
                            .vscode/
                            .idea/
                            *.swp

                             系统文件
                            .DS_Store
                            Thumbs.db

                             构建产物
                            dist/
                            build/
                            *.exe
                            EOF

                             5. 创建源代码结构
                            mkdir src
                            mkdir tests
                            mkdir docs

                             6. 创建初始代码文件
                            echo "def main():" > src/app.py
                            echo " print('Hello, World!')" >> src/app.py
                            echo "" >> src/app.py
                            echo "if __name__ == '__main__':" >> src/app.py
                            echo " main()" >> src/app.py

                             7. 创建测试文件
                            echo "import unittest" > tests/test_app.py
                            echo "from src.app import main" >> tests/test_app.py

                             ====================================================
                             第二部分:首次提交
                             ====================================================

                             8. 查看当前状态
                            git status
                             应该显示所有未跟踪的文件

                             9. 添加所有文件到暂存区
                            git add .
                             或者 git add README.md .gitignore src/ tests/

                             10. 查看暂存区内容
                            git status
                             文件现在应该显示为"Changes to be committed"

                             11. 提交初始版本
                            git commit -m "初始提交:项目基础结构

                            - 添加项目README文档
                            - 配置.gitignore文件
                            - 创建源代码和测试目录结构
                            - 实现基础应用程序框架"

                             12. 验证提交
                            git log --oneline
                             应该显示刚才的提交

                             ====================================================
                             第三部分:连接远程仓库
                             ====================================================

                             13. 在Gitee创建空仓库后,添加远程地址
                            git remote add origin [email protected]:your-username/my-awesome-project.git

                             14. 验证远程仓库配置
                            git remote -v
                             应该显示fetch和push的URL

                             15. 重命名远程仓库(如果需要)
                            git remote rename origin gitee
                             当有多个远程仓库时很有用

                             16. 推送到远程仓库
                            git push -u origin main
                             如果main分支不存在,可能需要先创建
                             或者使用:git push -u origin master

                             17. 如果远程仓库有初始文件导致冲突
                            git pull origin main --allow-unrelated-histories
                             允许合并不相关的历史
                            git push origin main

                             ====================================================
                             第四部分:后续开发工作流
                             ====================================================

                             18. 创建开发分支
                            git checkout -b develop

                             19. 开发新功能
                            echo "def new_feature():" >> src/app.py
                            echo " return 'New feature implemented'" >> src/app.py

                             20. 测试修改
                            git diff
                             查看具体修改内容

                             21. 添加并提交
                            git add src/app.py
                            git commit -m "feat: 添加新功能函数"

                             22. 创建功能分支
                            git checkout -b feature/calculator

                             23. 实现功能
                            cat > src/calculator.py << EOF
                            def add(a, b):
                                return a + b

                            def subtract(a, b):
                                return a - b

                            def multiply(a, b):
                                return a * b

                            def pide(a, b):
                                if b == 0:
                                    raise ValueError("除数不能为零")
                                return a / b
                            EOF

                             24. 添加测试
                            cat > tests/test_calculator.py << EOF
                            import unittest
                            from src.calculator import *

                            class TestCalculator(unittest.TestCase):
                                def test_add(self):
                                    self.assertEqual(add(2, 3), 5)
                                
                                def test_pide_by_zero(self):
                                    with self.assertRaises(ValueError):
                                        pide(5, 0)
                            EOF

                             25. 提交功能代码
                            git add src/calculator.py tests/test_calculator.py
                            git commit -m "feat: 添加计算器模块和测试"

                             26. 切换回开发分支并合并功能
                            git checkout develop
                            git merge feature/calculator --no-ff
                             --no-ff保留功能分支的历史

                             27. 删除已合并的功能分支
                            git branch -d feature/calculator

                             28. 推送开发分支
                            git push -u origin develop

                             29. 准备发布版本
                            git checkout -b release/v1.0.0
                             在发布分支上进行最后的测试和文档更新

                             30. 合并到主分支
                            git checkout main
                            git merge release/v1.0.0 --no-ff
                            git tag -a v1.0.0 -m "版本1.0.0发布"
                            git push origin main --tags

                             31. 删除发布分支
                            git branch -d release/v1.0.0
                            git push origin --delete release/v1.0.0

                            示例三:常用Git操作快捷命令

                             ====================================================
                             实用快捷命令和别名
                             ====================================================

                             1. 设置常用别名
                            git config --global alias.co checkout
                            git config --global alias.br branch
                            git config --global alias.ci commit
                            git config --global alias.st status
                            git config --global alias.unstage 'reset HEAD --'
                            git config --global alias.last 'log -1 HEAD'

                             2. 查看图形化提交历史
                            git config --global alias.graph "log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

                             3. 简洁状态查看
                            git config --global alias.ss "status -s"

                             4. 查看最后一次提交的详细内容
                            git config --global alias.lastdetail "show --stat"

                             5. 使用别名
                            git st 查看状态
                            git co main 切换到main分支
                            git ci -m "msg" 提交
                            git graph 图形化历史

                             ====================================================
                             高级操作和技巧
                             ====================================================

                             6. 修改最近一次提交信息
                            git commit --amend -m "新的提交信息"
                             如果已经推送,需要强制推送:git push --force-with-lease

                             7. 修改多个提交信息(交互式rebase)
                            git rebase -i HEAD~3
                             会打开编辑器,可以修改最近3个提交

                             8. 将多个提交合并为一个(squash)
                             在rebase交互界面中,将pick改为squash

                             9. 查找包含特定字符串的提交
                            git log --all --grep="bugfix"
                             在所有提交中搜索包含"bugfix"的提交

                             10. 查找引入bug的提交
                            git bisect start
                            git bisect bad 当前版本有问题
                            git bisect good v1.0.0 v1.0.0版本正常
                             Git会自动二分查找有问题的提交

                             11. 清理本地已合并的分支
                            git branch --merged | grep -v "*" | xargs -n 1 git branch -d
                             删除所有已合并到当前分支的分支

                             12. 清理远程已删除的分支
                            git fetch --prune
                             删除本地已不存在的远程分支引用

                             13. 导出特定版本的代码
                            git archive --format=zip --output=v1.0.0.zip v1.0.0
                             导出v1.0.0标签版本的代码为zip文件

                             14. 统计代码贡献
                            git shortlog -sn --all --no-merges
                             显示所有贡献者的提交数量统计

                             15. 统计文件更改行数
                            git log --since="2023-01-01" --until="2023-12-31" --pretty=tformat: --numstat
                             显示2023年每个文件的增删行数统计

                            示例四:错误处理和恢复操作

                             ====================================================
                             错误恢复和撤销操作
                             ====================================================

                             1. 恢复误删的文件
                             先找到文件被删除的提交
                            git log --all --full-history -- <file-path>
                             恢复文件
                            git checkout <commit-hash>^ -- <file-path>

                             2. 恢复被覆盖的分支
                             查看所有操作记录
                            git reflog
                             找到分支被删除前的提交
                            git checkout -b restored-branch <commit-hash>

                             3. 撤销工作区的修改(未add)
                            git checkout -- <file-name>
                             或者 git restore <file-name>

                             4. 撤销暂存区的修改(已add但未commit)
                            git reset HEAD <file-name>
                             或者 git restore --staged <file-name>

                             5. 修改提交的作者信息
                            git commit --amend --author="新作者 <email>"
                             只修改最后一次提交

                             6. 批量修改作者信息
                            git filter-branch --env-filter '
                            OLD_EMAIL="旧的@邮箱.com"
                            CORRECT_NAME="正确的名字"
                            CORRECT_EMAIL="正确的@邮箱.com"
                            if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
                            then
                                export GIT_COMMITTER_NAME="$CORRECT_NAME"
                                export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
                            fi
                            if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
                            then
                                export GIT_AUTHOR_NAME="$CORRECT_NAME"
                                export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
                            fi
                            ' --tag-name-filter cat -- --branches --tags

                             7. 恢复误操作的git reset
                             查看reflog找到reset前的状态
                            git reflog
                             恢复到reset前的状态
                            git reset --hard HEAD@{1}

                             8. 清理未跟踪的文件
                            git clean -n 预览哪些文件会被删除
                            git clean -f 删除未跟踪的文件
                            git clean -fd 删除未跟踪的文件和目录

                             9. 解决合并冲突后继续
                            git add <解决冲突的文件>
                            git merge --continue
                             或者 git commit

                             10. 取消合并操作
                            git merge --abort
                             或者 git rebase --abort

                             11. 查找大文件
                            git rev-list --objects --all |
                              git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
                              sed -n 's/^blob //p' |
                              sort --numeric-sort --key=2 |
                              tail -10 |
                              cut -c 1-12,41- |
                              $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
                             显示仓库中最大的10个文件

                            在这个场景下,这个速查手册涵盖了从基础到高级的Git操作,每个命令都有详细注释。建议将这些示例保存为脚本文件,在实际操作中参考采用。记住,Git是一个强大的工具,熟练掌握它会让你的开发工作更加高效和有序。

                            在这个场景下,以上就是从Gitee拉取项目到上传修改的完整流程的详细内容,更多关于Gitee拉取到推送流程的资料请关注脚本之家其它相关文章!

                            您可能感兴趣的文章:

                            • IDEA升级后Git拉取和推送的标签消失的解决方法
                            • git push & git pull 推送/拉取分支的具体采用

                            相关资讯
                            点击查看更多
                            游戏推荐
                            推荐专题
                            热门阅读
                            推荐下载