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

Written by

in

文章目录
  • 在当今的软件开发中,Git已经成为版本控制的代名词。无论是个人项目还是团队协作,掌握Git的基本工作流程都是每一位开发者必备的技能。作为中国开发者常用的代码托管平台,Gitee提供了稳定高效的Git服务。本文将详细介绍从Gitee拉取项目到上传修改的完整流程,并结合实际示例帮助读者快速掌握Git的核心操作。
  • 完整示例:本地新建Git项目 有时候我们需要从零开始一个项目,然后将其推送到Gitee进行管理和协作。 步骤1:在Gitee创建空仓库 登录Gitee,点击右上角"+"号 选择"新建仓库" 填写仓库名称、描述等信息 不要初始化README、.gitignore等文件(我们将从本地创建) 点击"创建" 步骤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 git@gitee.com:username/my-new-project.git 验证远程仓库 git remote -v 输出: origin git@gitee.com:username/my-new-project.git (fetch) origin git@gitee.com: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是一个强大而灵活的工具,掌握其基本工作流程是每个开发者的必修课。通过本文的详细讲解和实际示例,相信你已经掌握了从Gitee拉取项目到上传修改的完整流程。记住,Git的精髓在于"小步快跑,频繁提交"——不要等到完成一个大功能才提交,而是将工作分解为多个小提交。 实践是学习Git的最佳途径。建议你立即创建一个Gitee账户,按照本文的示例实际操作一遍,从克隆现有项目开始,逐步尝试创建自己的项目并推送到远程仓库。随着实践的增加,你会越来越熟练地使用Git管理你的代码。 Git常用命令速查手册(附详细注释)
  • 目录
    • 引言
    • 第一部分: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的三个重要区域:

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

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

                              在开始之前,确保你的系统已经安装了Git。可以通过以下命令检查:

                              git --version
                              

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

                              首次使用Git时,需要配置你的身份信息,这些信息会包含在每一次提交记录中:

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

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

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

                              SSH密钥配置(推荐)

                               生成SSH密钥对
                              ssh-keygen -t rsa -C "your_email@example.com"
                              
                               查看公钥
                              cat ~/.ssh/id_rsa.pub
                              

                              将公钥内容复制到Gitee的SSH密钥设置页面(个人设置 → SSH公钥)。

                              克隆命令

                               使用HTTPS克隆
                              git clone https://gitee.com/username/project-name.git
                              
                               使用SSH克隆(配置好SSH密钥后)
                              git clone git@gitee.com:username/project-name.git
                              

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

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

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

                              步骤1:克隆项目到本地

                               克隆项目
                              git clone git@gitee.com: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. 填写说明并提交

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

                               保存当前未提交的更改(可选)
                              git stash
                              
                               获取远程更新
                              git fetch origin
                              
                               合并到当前分支
                              git merge origin/main
                              
                               恢复暂存的更改(如果使用了stash)
                              git stash pop
                              
                               解决可能的冲突
                               编辑有冲突的文件,然后:
                              git add <解决冲突的文件>
                              git commit -m "解决合并冲突"
                              

                               撤销最后一次提交,保留更改在工作区
                              git reset --soft HEAD~1
                              
                               完全撤销最后一次提交,丢弃更改
                              git reset --hard HEAD~1
                              
                               撤销特定的提交(创建反向提交)
                              git revert <commit-hash>
                              

                              完整示例:本地新建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 git@gitee.com:username/my-new-project.git
                              
                               验证远程仓库
                              git remote -v
                               输出:
                               origin  git@gitee.com:username/my-new-project.git (fetch)
                               origin  git@gitee.com: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
                              

                              良好的提交信息有助于团队协作和后期维护。推荐使用Conventional Commits规范:

                              <类型>[可选范围]: <描述>
                              
                              [可选正文]
                              
                              [可选脚注]
                              

                              常见类型:

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

                              合理配置.gitignore可以避免将不必要的文件提交到仓库:

                               操作系统文件
                              .DS_Store
                              Thumbs.db
                              
                               编辑器文件
                              .vscode/
                              .idea/
                              *.swp
                              *.swo
                              
                               运行时文件
                              __pycache__/
                              *.pyc
                              *.pyo
                              
                               依赖目录
                              node_modules/
                              venv/
                              .env
                              
                               日志文件
                              *.log
                              
                               构建产物
                              dist/
                              build/
                              

                              推荐使用Git Flow或简化版的分支策略:

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

                              设置别名可以大大提高工作效率:

                               添加到~/.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"
                              

                               先拉取最新代码
                              git pull origin main
                              
                               解决冲突(编辑标记了冲突的文件)
                               添加解决后的文件
                              git add <冲突文件>
                              
                               继续合并
                              git commit
                              
                               重新推送
                              git push origin main
                              

                               从历史中完全删除包含敏感信息的文件
                              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
                              

                               查看所有提交记录(包括已删除的)
                              git reflog
                              
                               恢复特定的提交
                              git checkout <commit-hash> -- <文件名>
                              
                               恢复被删除的分支
                              git checkout -b restored-branch <commit-hash>
                              

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

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

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

                               ====================================================
                               第一部分:环境准备和项目克隆
                               ====================================================
                              
                               1. 配置全局用户信息(首次使用Git时需要)
                              git config --global user.name "张三"
                              git config --global user.email "zhangsan@example.com"
                              
                               2. 配置SSH密钥(可选,但推荐)
                              ssh-keygen -t rsa -b 4096 -C "zhangsan@example.com"
                               执行后会生成~/.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 git@gitee.com: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>
                               安全的撤销方式,会创建新的反向提交
                              

                               ====================================================
                               第一部分:项目初始化
                               ====================================================
                              
                               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 git@gitee.com: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 divide(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_divide_by_zero(self):
                                      with self.assertRaises(ValueError):
                                          divide(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
                              

                               ====================================================
                               实用快捷命令和别名
                               ====================================================
                              
                               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 推送/拉取分支的具体使用

                              站内搜索