Git 超详细使用教程,Git超详细操作指南

马肤

温馨提示:这篇文章已超过441天没有更新,请注意相关的内容是否还可用!

Git超详细使用教程摘要:本教程详细介绍了Git版本控制系统的基本操作和高级功能。从安装配置开始,逐步介绍仓库的创建与管理、文件操作、分支管理、合并冲突解决等核心功能。教程注重实用性和细节,帮助初学者快速上手,同时满足进阶用户的需求。通过本教程,读者能够全面掌握Git的使用技巧,提高代码管理和协作效率。

目录

    • 1、介绍
      • 1.1、Git 简介和优势
      • 1.2、版本控制基本概念
      • 2、安装 Git
      • 3、配置 Git
        • 3.1、配置用户信息(必要)
        • 3.2、配置文本编辑器(非必要)
        • 3.3、配置别名(非必要,新手不建议)
        • 3.4、查看配置
        • 3.5、配置忽略文件
        • 4、创建仓库
          • 4.1、在本地创建仓库
          • 4.2、在远程托管平台创建仓库
          • 4.3、关联远程仓库
          • 5、基本操作
            • 5.1、初始化仓库
            • 5.2、查看工作目录和暂存区的当前状态
            • 5.3、添加文件到暂存区
            • 5.4、提交更改
            • 5.5、查看提交历史
            • 5.6、比较工作目录和暂存区之间的差异
            • 5.7、版本回退
            • 5.8、恢复工作目录中的更改
            • 5.8、撤销提交
            • 6、分支管理
              • 6.1、创建分支
              • 6.2、切换分支
              • 6.3、合并分支
              • 6.4、解决冲突
              • 6.5、删除分支
              • 7、远程仓库
                • 7.1、关联远程仓库
                • 7.2、推送代码到远程仓库
                • 7.3、拉取代码
                • 7.4、解决远程仓库冲突
                • 7.5、查看远程仓库
                • 8、高级操作
                  • 8.1、重写历史
                  • 8.2、使用储藏和恢复
                  • 8.3、管理子模块
                  • 9、团队协作
                    • 9.1、Git 团队协作流程
                    • 9.2、解决团队协作冲突
                    • 9.3、代码审查
                    • 9.4、分支保护和权限管理
                    • 10、附录
                      • 常用 Git 命令速查表
                        • 基本操作
                        • 分支操作
                        • 远程仓库操作
                        • 高级操作
                        • 团队协作
                        • 常见问题解决

                          1、介绍

                          1.1、Git 简介和优势

                          Git是一种分布式版本控制系统,用于跟踪文件和目录的变化,以及协调多个人员之间的代码协作。相比于传统的集中式版本控制系统,如SVN,Git具有许多优势:

                          • 分布式: 每个开发者都有一份完整的代码仓库,可以在离线状态下工作,减少对中央服务器的依赖。
                          • 高效性: Git对于历史版本的管理非常高效,基于快照而不是差异。
                          • 分支管理: Git鼓励使用分支进行并行开发,方便实现不同功能和修复同时进行。
                          • 易于协作: 多人协作时,可以轻松地合并和解决冲突。
                          • 安全性: Git使用哈希值保证数据的完整性,避免了数据损坏。
                          • 开源: Git本身是开源的,拥有庞大的社区支持。

                            1.2、版本控制基本概念

                            在使用Git之前,了解一些基本的版本控制概念是很重要的:

                            • 仓库(Repository): 一个Git仓库是一个存储你项目所有文件和历史版本的地方。
                            • 提交(Commit): 提交是保存代码更改的操作,每次提交会生成一个唯一的哈希值用于标识。
                            • 分支(Branch): 分支是用来进行并行开发的,你可以在分支上进行实验性的更改而不影响主线。
                            • 主分支(Main Branch): 通常是main或master分支,代表项目的稳定版本。
                            • 合并(Merge): 将一个分支的更改合并到另一个分支。
                            • 冲突(Conflict): 当多个分支的更改发生冲突时,需要手动解决。

                              2、安装 Git

                              在Windows上安装git

                              访问Git官网(https://git-scm.com/)。

                              下载适用于Windows的Git安装程序。

                              运行安装程序,按照提示完成安装。

                              3、配置 Git

                              在你安装了Git后,为了确保你的个人或项目特定的配置设置正确,你可以通过一些Git命令来进行配置。这些配置项将影响你在使用Git时的行为和体验。

                              3.1、配置用户信息(必要)

                              配置用户信息是非常重要的,因为每次你提交代码时都会有相应的提交者信息。

                              git config --global user.name "Your Name"
                              git config --global user.email "your.email@example.com"
                              

                              3.2、配置文本编辑器(非必要)

                              你可以配置一个默认的文本编辑器,以便你在进行提交信息或解决冲突时编辑文本。例如,如果你想使用Visual Studio Code:

                              git config --global core.editor "code --wait"
                              

                              3.3、配置别名(非必要,新手不建议)

                              Git支持设置别名,使得你可以更快速地输入命令。比如,你可以设置一个别名"co"来代替"checkout"命令:

                              git config --global alias.co checkout
                              

                              3.4、查看配置

                              你可以使用以下命令来查看当前的Git配置:

                              git config --list
                              这会列出所有的全局和本地配置设置。
                              

                              3.5、配置忽略文件

                              有些文件你可能希望Git自动忽略,例如编译产生的临时文件或敏感数据文件。你可以创建一个名为.gitignore的文件,并将需要忽略的文件和模式添加到其中。

                              # 示例 .gitignore 文件
                              *.log
                              node_modules/
                              secret.txt
                              

                              通过这些配置,你可以将Git按照你的喜好进行个性化设置,从而更好地适应你的工作流程。

                              4、创建仓库

                              Git仓库是用于存储你的项目代码和历史版本的地方。你可以在本地计算机上创建仓库,也可以在远程托管平台(如GitHub、GitLab、Gitee、Bitbucket等)上创建仓库。下面将分别介绍如何在本地和远程创建仓库。

                              4.1、在本地创建仓库

                              在本地创建一个新的Git仓库非常简单。首先,进入你的项目目录,然后使用以下命令:

                              git init
                              

                              Git 超详细使用教程,Git超详细操作指南 第1张

                              这会在当前目录下创建一个新的Git仓库。Git会在项目根目录下生成一个.git文件夹,用于存储版本历史和配置信息。

                              4.2、在远程托管平台创建仓库

                              远程托管平台如GitHub、GitLab等提供了创建远程仓库的功能。这允许你将你的代码与团队成员或其他开发者共享。以下是在GitLab上创建远程仓库的步骤:

                              (1)登录到你的GitLab账号。

                              (2)在GitLab的主页上,你会看到一个导航栏,导航栏上通常有一个加号(+)图标,点击它展开菜单。

                              (3)在菜单中,选择"New project"或类似的选项。

                              (4)在创建项目页面,填写以下信息:

                              • Project name: 项目名称,这将是你的仓库的名称。
                              • Project slug: 项目标识符,通常是项目名称的小写,可以包含连字符。
                              • Project description: 项目描述,简要介绍项目的用途。
                              • Visibility Level: 项目的可见性设置,可以选择"Public"(公开)或"Private"(私有)。
                              • Initialize repository with a README: 是否在仓库中初始化一个README文件,你可以选择根据需要启用或禁用。

                                填写完毕后,点击"Create project"按钮。

                                (5)GitLab将为你创建一个新的远程仓库,并将你重定向到仓库页面。

                                (6)在仓库页面中,你将找到仓库的URL,这是你与远程仓库交互的链接。

                                4.3、关联远程仓库

                                在本地创建仓库或克隆已有仓库后,你可能想要将它与远程仓库关联起来,以便推送和拉取代码。

                                git remote add origin 
                                

                                这里,origin是一个远程仓库的别名,你可以自己命名,是远程仓库的URL。

                                5、基本操作

                                5.1、初始化仓库

                                在一个目录中初始化一个Git仓库,使其成为Git可管理的仓库。

                                git init
                                

                                5.2、查看工作目录和暂存区的当前状态

                                查看工作目录和暂存区的当前状态。获得有关你的代码库中文件的信息,包括已修改、已暂存和未跟踪的文件。

                                git status
                                

                                例如,在本地仓库中新建一个文件1.txt,然后查看当前状态

                                Git 超详细使用教程,Git超详细操作指南 第2张

                                5.3、添加文件到暂存区

                                在进行代码提交之前,需要将文件添加到Git的暂存区,以准备好提交。

                                //添加指定文件到暂存区
                                git add 
                                //添加所有文件到暂存区
                                git add .
                                

                                你也可以使用通配符来添加多个文件。

                                此时执行git status再次查看状态

                                Git 超详细使用教程,Git超详细操作指南 第3张

                                5.4、提交更改

                                提交暂存区中的更改到版本库中

                                git commit -m "Commit message"
                                

                                合理的提交信息能够清晰地说明你的更改内容。

                                此时执行git status再次查看状态

                                Git 超详细使用教程,Git超详细操作指南 第4张

                                5.5、查看提交历史

                                查看项目的提交历史,了解每次提交的详细信息。

                                //查看提交历史
                                git log
                                //以精简形式显示提交历史
                                git log --oneline
                                

                                Git 超详细使用教程,Git超详细操作指南 第5张

                                5.6、比较工作目录和暂存区之间的差异

                                比较工作目录和暂存区之间的差异,或者比较两个提交之间的差异。

                                //比较工作目录和暂存区之间的差异
                                git diff
                                //比较暂存区和最新提交之间的差异
                                git diff --staged
                                //或
                                git diff --cached
                                //比较两个提交之间的差异
                                git diff  
                                //比较指定文件的差异
                                git diff 
                                

                                5.7、版本回退

                                新增两次提交

                                Git 超详细使用教程,Git超详细操作指南 第6张

                                此时1.txt中的内容为:

                                Git 超详细使用教程,Git超详细操作指南 第7张

                                此时想要进行版本回退有三种方式

                                //回退到上个版本
                                git reset --hard HEAD^
                                //回退到上上个版本
                                git reset --hard HEAD^^
                                //回退到前10个版本
                                git reset --hard HEAD~10
                                //回退到指定版本号的版本
                                git reset --hard a7f365c128827cdf1f0d796141ce3c644cc78770
                                

                                执行命令回退到上个版本,此时已看不到第三次提交并且1.txt中内容也回退到了对应版本

                                Git 超详细使用教程,Git超详细操作指南 第8张

                                Git 超详细使用教程,Git超详细操作指南 第9张

                                如果此时我们还想要重新回到版本回退前的版本,则可以使用git reset --hard [版本号] 来实现

                                //查询版本号
                                git reflog
                                //回退版本
                                git reset --hard [版本号]
                                

                                此时需要先获取到版本回退前的版本号,然后再执行版本回退

                                Git 超详细使用教程,Git超详细操作指南 第10张

                                5.8、恢复工作目录中的更改

                                如果在修改添加到暂存区之前,想要撤销某个文件的修改可以使用以下命令

                                //将指定文件恢复到版本库中的版本
                                git restore 
                                //将所有文件恢复到版本库中的版本
                                git restore .
                                //注意,旧版本不支持restore命令,需要使用该命令
                                git checkout -- 
                                

                                如果修改已经添加到暂存区,想要撤销某个文件的修改可以使用以下命令

                                //放弃指定文件修改
                                git reset HEAD 
                                //放弃所有文件修改
                                git reset HEAD .
                                

                                5.8、撤销提交

                                当你需要撤销之前的提交时,你可以使用git revert命令来创建一个新的提交,将之前的提交内容进行反转。这允许你保留之前的提交历史,同时也纠正了之前的更改。

                                //撤销一个提交
                                git revert [版本号]
                                //可以指定一个范围,撤销多个连续的提交
                                git revert ..
                                

                                6、分支管理

                                Git的分支管理功能允许你在不影响主线代码的情况下进行并行开发、实验性改动和问题修复。了解如何创建、切换和合并分支,以及如何解决分支冲突非常重要。

                                6.1、创建分支

                                创建一个新分支,用于开发新功能或修复问题,保持主线代码不受影响。

                                //创建一个分支
                                git branch 
                                //创建并切换到分支
                                git branch -b 
                                

                                6.2、切换分支

                                切换到另一个分支,以便在不同的分支上进行不同的工作。

                                //切换分支
                                git checkout 
                                //查看当前所在分支
                                git checkout
                                

                                6.3、合并分支

                                将一个分支的更改合并到另一个分支中。

                                git merge 
                                

                                在合并时可能会遇到冲突,需要手动解决。

                                6.4、解决冲突

                                当两个分支有不同的更改并且产生冲突时,需要手动解决冲突。

                                • 打开冲突文件,编辑并解决冲突。
                                • 使用git add 标记冲突已解决。
                                • 提交解决冲突的更改。

                                  6.5、删除分支

                                  当一个分支的工作已经完成,可以删除不再需要的分支。

                                  git branch -d 
                                  

                                  请注意,如果分支中的更改尚未合并,删除分支时可能会出现警告。

                                  7、远程仓库

                                  将你的本地仓库与远程仓库进行关联,可以实现代码的共享和团队协作。在本节中,你将学习如何关联远程仓库、推送代码到远程仓库以及从远程仓库拉取代码更新。

                                  7.1、关联远程仓库

                                  将本地仓库与远程仓库关联起来,以便你可以推送和拉取代码。

                                  注意:本地Git仓库和远程仓库之间的传输是通过SSH加密的,所以还需要将你的SSH密钥添加到远程仓库设置中。

                                  git remote add origin 
                                  

                                  在这里,是远程仓库的URL。

                                  7.2、推送代码到远程仓库

                                  一旦关联了远程仓库,你可以将本地代码推送到远程仓库。

                                  git push origin 
                                  

                                  这会将指定分支的代码推送到远程仓库。首次推送时,你可能需要使用 -u 参数来建立跟踪关系。

                                  7.3、拉取代码

                                  从远程仓库拉取代码更新,以保持你的本地代码同步。

                                  git pull origin 
                                  

                                  这会将指定分支的最新代码拉取到你的本地仓库。

                                  7.4、解决远程仓库冲突

                                  在多人协作时,可能会遇到远程仓库的冲突。在推送代码之前,确保从远程仓库拉取最新的代码,以避免冲突。

                                  7.5、查看远程仓库

                                  你可以使用以下命令查看与本地仓库关联的远程仓库。

                                  git remote -v
                                  

                                  通过以上远程仓库操作,你可以实现代码的共享和协作,确保团队成员之间的代码同步。请根据你的实际项目需求和使用情况对上述内容进行编辑和扩展。

                                  8、高级操作

                                  除了基本操作外,Git还提供了一些高级操作,可以帮助你更灵活地管理代码和历史记录。在本节中,你将学习如何重写历史、使用储藏功能以及管理子模块。

                                  8.1、重写历史

                                  在某些情况下,你可能需要修改之前的提交历史,如合并、重新排序或删除提交。

                                  • 修改最近一次提交信息:git commit --amend
                                  • 交互式地修改提交历史:git rebase -i

                                    8.2、使用储藏和恢复

                                    储藏功能允许你将当前未提交的更改暂存起来,以便在切换分支或执行其他操作时恢复使用。

                                    • 储藏当前更改:git stash
                                    • 恢复储藏的更改:git stash apply 或 git stash pop

                                      8.3、管理子模块

                                      子模块允许你在一个Git仓库中嵌套另一个仓库,这对于依赖的管理非常有用。

                                      • 添加子模块:git submodule add
                                      • 更新子模块:git submodule update --init --recursive
                                      • 删除子模块:详见Git文档

                                        通过高级操作,你可以更灵活地处理提交历史、更改管理以及子模块等复杂情况。请根据你的实际项目需求和使用情况对上述内容进行编辑和扩展。

                                        9、团队协作

                                        在团队中协作使用Git时,需要注意协调各种活动以确保代码的正确性、稳定性和一致性。本小节将介绍如何在团队中使用Git进行协作。

                                        9.1、Git 团队协作流程

                                        • 使用主分支:主分支通常是稳定的版本,团队成员从这里创建自己的分支。
                                        • 特性分支:每个新功能或修复都应该在自己的分支上进行开发。
                                        • 提交和推送:团队成员定期提交并推送自己的分支更改。
                                        • 代码审查:使用代码审查工具(如Pull Request)确保代码质量和规范。
                                        • 合并:经过审查后,将特性分支合并到主分支。
                                        • 解决冲突:如果有冲突,团队协作解决冲突并保持代码稳定。

                                          9.2、解决团队协作冲突

                                          在团队协作中,当不同成员的更改冲突时,需要解决这些冲突。以下是一些解决冲突的步骤:

                                          • 拉取更新:在进行自己的更改之前,先拉取远程仓库的最新更新。
                                          • 处理冲突:如果出现冲突,打开文件并手动解决冲突。
                                          • 提交解决:将解决冲突后的文件提交到自己的分支。
                                          • 更新远程仓库:将解决冲突的分支推送到远程仓库。

                                            9.3、代码审查

                                            代码审查是团队协作中的重要环节,可以帮助发现潜在的问题并提高代码质量。通常使用Pull Request(PR)工具进行代码审查。

                                            • 创建PR:在特性分支开发完成后,创建一个Pull Request。
                                            • 代码审查:团队成员审查代码,并提供反馈和建议。
                                            • 更新和讨论:根据审查意见更新代码,并与团队成员讨论。
                                            • 合并PR:经过审查和讨论后,将PR合并到主分支。

                                              9.4、分支保护和权限管理

                                              在团队协作中,可以使用分支保护和权限管理来确保代码的质量和安全性。

                                              • 分支保护:限制谁可以直接将代码推送到主分支,只能通过PR合并。
                                              • 权限管理:根据团队成员的角色,分配合适的权限,如写权限、合并权限等。

                                                10、附录

                                                常用 Git 命令速查表

                                                基本操作
                                                • 初始化仓库:git init
                                                • 克隆远程仓库:git clone
                                                • 查看状态:git status
                                                • 添加文件到暂存区:git add
                                                • 提交更改:git commit -m “Commit message”
                                                • 查看提交历史:git log
                                                • 查看文件差异:git diff
                                                • 查看远程仓库列表:git remote -v
                                                • 查看远程分支列表:git branch -r
                                                  分支操作
                                                  • 创建分支:git branch
                                                  • 切换分支:git checkout 或 git switch
                                                  • 创建并切换分支:git checkout -b 或 git switch -c
                                                  • 合并分支:git merge
                                                  • 删除分支:git branch -d
                                                    远程仓库操作
                                                    • 关联远程仓库:git remote add
                                                    • 推送代码:git push
                                                    • 拉取代码:git pull
                                                    • 创建Pull Request:在远程仓库上操作
                                                    • 获取远程仓库更新:git fetch
                                                      高级操作
                                                      • 重写历史:git commit --amend、git rebase -i
                                                      • 使用储藏:git stash、git stash apply、git stash pop
                                                      • 管理子模块:git submodule add
                                                      • 重置和回退:git reset --soft 、git reset --hard 、git reflog
                                                        团队协作
                                                        • 创建Pull Request:在远程仓库上操作
                                                        • 代码审查:通过Pull Request 进行
                                                        • 解决冲突:手动编辑文件解决冲突
                                                        • 分支保护和权限管理:在远程仓库上设置
                                                          常见问题解决
                                                          • 解决冲突:手动编辑冲突文件
                                                          • 撤销错误提交:git reset --soft HEAD^、git reset --hard HEAD^、重写历史
                                                          • 丢弃未提交更改:git restore
                                                          • 追踪和忽略文件:git rm --cached 、创建 .gitignore 文件

0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码