• git笔记 - 常用记录


    第1阶段 - Git简介

    • 什么是Git及其重要性?
    • 基本的Git概念和术语
    1. 仓库(Repository):也称为 repo,是存储代码和版本历史的地方。它可以是本地仓库(在本地计算机上)或远程仓库(在服务器或代码托管平台上)。
    2. 分支(Branch):是基于主分支(通常是 master 或 main 分支)创建的一个并行开发路径。它允许在不影响主分支的情况下进行独立开发和修改。
    3. 提交(Commit):表示一次代码修改的操作。提交包含了修改的文件内容和相应的提交信息(作者、日期、描述等),并形成一个唯一的标识符(哈希值)。
    4. 暂存区(Staging Area):也称为索引(Index),是一个中间区域,用于暂时保存将被提交的修改。在将修改提交之前,需要将其添加到暂存区。
    5. 远程仓库(Remote Repository):是位于网络上的代码仓库,用于与团队成员共享代码。常见的远程仓库包括 GitHub、GitLab 和 Bitbucket。
    6. 克隆(Clone):从远程仓库复制代码到本地计算机,创建一个本地仓库的副本。
    7. 拉取(Pull):从远程仓库获取最新的代码和提交,并将其合并到当前分支。
    8. 推送(Push):将本地仓库中的代码和提交推送到远程仓库,更新远程仓库的内容。
    9. 合并(Merge):将一个分支的修改合并到另一个分支,使得目标分支包含源分支的提交历史和代码更改。
    10. 冲突(Conflict):当两个分支对同一部分代码进行不同的修改,Git 无法自动合并它们时,会发生冲突。需要手动解决冲突后才能继续合并。
    11. 拉取请求(Pull Request):在协作开发中,开发人员将自己的修改请求合并到主分支或目标分支时创建的请求。其他团队成员可以审查修改并提供反馈。
    12. 比较(Diff):比较两个提交或分支之间的差异,显示哪些文件发生了变化以及具体的修改内容。
    • 安装Git
      https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
    • 配置Git
    1. 配置用户名和邮箱
    git config --global user.name "Your Name"
    git config --global user.email "yourname@example.com"
    git config --global credential.helper store
    # 这两个命令分别设置了全局的用户名和邮箱,用于标识你在Git提交中的身份信息。
    
    • 1
    • 2
    • 3
    • 4
    1. 配置文本编辑器
    git config --global core.editor "vim"
    # 这个命令设置了全局的文本编辑器,用于打开Git的默认编辑器来编辑提交信息和其他文本。
    
    • 1
    • 2
    1. 查看配置信息
    git config --list
    # 这个命令可以查看当前Git的配置信息,包括用户名、邮箱、编辑器等设置。
    
    • 1
    • 2
    1. 配置远程仓库的地址
    git remote add origin <remote-url>
    # 这个命令将一个远程仓库的地址()与本地仓库关联起来,使得可以通过origin这个名称来引用远程仓库。
    
    • 1
    • 2
    • Git基本工作流程(添加、提交、推送、拉取)
    1. 添加(Add):使用git add命令将修改的文件添加到暂存区(Staging Area)。
    #添加单个文件
    git add file1.txt
    #添加整个目录
    git add directory/
    
    • 1
    • 2
    • 3
    • 4
    1. 提交(Commit):使用git commit命令将暂存区中的修改提交到本地仓库。每次提交都应该附带一条有意义的提交信息,用于描述修改的内容和目的。
    git commit -m "Commit message"
    
    • 1
    1. 推送(Push):使用git push命令将本地仓库中的修改推送到远程仓库,更新远程仓库的内容。推送操作通常用于与团队成员共享代码或将修改应用于远程仓库。
    git push origin branch-name
    #其中,origin是远程仓库的名称,branch-name是要推送的分支名称。
    
    • 1
    • 2
    1. 拉取(Pull):使用git pull命令从远程仓库获取最新的代码和提交,并将其合并到当前分支。拉取操作用于更新本地仓库,以保持与远程仓库同步。
    git pull origin branch-name
    
    • 1

    第2阶段 - Git分支

    • 创建新分支
    # 创建新分支
    git branch <branch-name>
    # 检出并创建新分支
    git checkout -b <branch-name>
    
    • 1
    • 2
    • 3
    • 4
    • 分支之间的切换
    # 检出分支
    git checkout <branch-name>
    
    • 1
    • 2
    • 合并分支
    git checkout master
    git merge feature
    
    • 1
    • 2
    • 解决冲突的方法
    #切换到目标分支
    git checkout master
    
    #合并源分支到目标分支
    git merge feature
    
    #发生冲突,打开冲突文件进行编辑
    #编辑文件,移除冲突标记并保留正确的代码
    #将其中的冲突标记(<<<<<<<、=======、>>>>>>>)替换为正确的代码
    
    #添加解决冲突后的文件
    git add <conflict-file>
    
    #提交解决冲突的修改
    git commit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    第3阶段 - Git协作

    • 使用Git进行协作
    # git clone 拉取远端仓库时,如果只需要一个分支且一个commit时,可以加上--depth 1 加快下载速度
    git clone --depth 1 <YourSrcURL>
    
    # 查看两个commit id间存在多少commit id的命令
    git rev-list --count <commitid-old>..<commitid-new>
    
    # 切换到目标分支
    git checkout <branch-name>
    
    # 合并commit
    git rebase -i HEAD~<number-of-commits>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • Git远程存储库
    # 添加远程仓库
    git remote add <remote-name> <remote-url>
    
    • 1
    • 2
    • 如何协作并与其他人共享Git存储库
    • Pull请求和代码审查
    • Git工作流程 - GitFlow/分支模型
      https://blog.51cto.com/lansonli/5284139
    • GitLab、BitBucket和其他Git托管平台

    第4阶段 - 高级Git主题

    • 使用Git rebase重写Git历史
    • Git子模块
    • Git钩子
    • Git存储
    • 恢复丢失的提交
    • 调试Git问题

    第5阶段 - 实践中的Git使用

    • 实际场景下Git的应用实例
    • 使用Git部署应用程序
    • 使用Git钩子自动化Git任务
    • 高级的Git工作流程和分支策略
    • 在大型项目中实现Git
    • Git协作和管理的最佳实践````````
  • 相关阅读:
    opencv从入门到精通 哦吼03
    Python+opencv绘制测试标版(棋盘格、纯色、十字叉心)
    【网络安全产品】---下一代防火墙
    虚拟主机、WordPress 主机和云主机之间的区别
    【记录】celery + mongodb 动态添加、更新定时任务时间
    系统设计题面试八股文背诵版
    招投标系统软件源码,招投标全流程在线化管理
    【数据结构-树】并查集的定义及其操作
    创建SpringBoot项目
    KVM 创建虚拟机文档
  • 原文地址:https://blog.csdn.net/sz66cm/article/details/133901908