【深入解析git和gdb:版本控制与调试利器的终极指南】(下)

简介: 【深入解析git和gdb:版本控制与调试利器的终极指南】

【深入解析git和gdb:版本控制与调试利器的终极指南】(上):https://developer.aliyun.com/article/1425625


  • No.3:进入到我们刚才创建的仓库,点击克隆,选择HTPPS,复制下面的链接。


  • No.4:git clone [url],这里的 url 就是刚刚复制好的 项目 的链接.


  • No.5:第一招git add .,.代表当前目录下所有文件,第二招git commit -m "提交日志信息(必须好好写)",如果是第一次,我们这里还需要输入以下两个指令:


git config --global user.name "gitee 用户名"

git config --global user.email "gitee邮箱地址"


第三招,git push需要填入用户名密码,然后就提交到我们的远端仓库了。


图解:


解释:


  1. git clone:
  1. git add:
  • 用途:将工作目录中的修改添加到暂存区,为下一次提交做准备。
  • 示例:git add filename(将指定文件添加到暂存区)或 git add .(将所有修改添加到暂存区)。
  1. git commit:
  • 用途:将暂存区中的修改提交到本地仓库,创建一个新的版本(commit)。
  • 示例:git commit -m "Commit message"
  1. git push:
  • 用途:将本地仓库的提交推送到远程仓库。
  • 示例:git push origin master(将本地的 master 分支推送到远程仓库的 master 分支)。


  • No.6:提交成功到远端仓库


上面就是本地仓库提交到远端仓库的步骤。现在我们来看一下我们刚刚的提交日志信息:git log


 上面的图片中commit后面跟的一串是commit的ID,每一次修改都有一次commit的ID,于是我们就可以通过用哪个commit的ID,就可以看到曾经修改的哪个版本。Author是我们刚才配置邮箱和用户名,这是为了标识你是代码的提交者。这信息会被包含在每次提交中,以记录是谁进行了代码的更改。这对于团队协作和代码贡献追踪非常重要。


 git status 是 Git 中用于查看工作区(working directory)和暂存区(staging area)状态的命令。运行这个命令可以告诉你当前工作目录中文件的状态以及是否有文件修改未提交。


此时会显示工作目录中未被 Git 跟踪的文件和已修改的文件,但不会显示任何文件已暂存(staged)或提交(committed)的状态。


这是已经通过 git add 添加到暂存区但尚未通过 git commit 提交到版本库的文件。


此时显示没有文件需要 commit ,当前暂存区干净。


通过 git add push 推送到远端仓库,下面是推送后的状态


删除仓库文件的步骤



此时我们还可以通过git log查看日志信息


在Git中,git branch是用来管理分支的命令。


查看分支: 使用git branch命令可以列出当前仓库中存在的所有分支。当前分支前会有一个星号(*)表示当前所在的分支。

git branch



通过合理使用分支,可以更方便地进行代码的管理和协同开发。分支允许多个开发者在同一时间内独立地开发不同的功能或修复不同的bug,而不会互相影响。每个分支都代表着一个特定的工作线,开发者可以在不干扰其他工作的情况下进行自己的修改和实验,最后合并到master分支,能保证此时出现极少的错误。


.gitignore 是一个用于指定在版本控制系统中忽略哪些文件或目录的配置文件。在一个Git仓库中,有些文件是不希望被纳入版本控制的,比如编译生成的文件、临时文件、日志文件等。.gitignore 文件告诉Git哪些文件或目录应该被忽略,从而不会被提交到版本库中。通过使用 .gitignore 文件,你可以确保不必要的文件不会被提交到版本库中,从而保持版本库的干净和有序。


现在我们来验证一下,我们想设置.txt文件不被提交到远端仓库。


此时我们修改了.gitignore文件,因为.gitignore也是工作区的文件,也要被上传到远端仓库,但是我们此时先不上传到远端仓库。


上传到远端仓库后,我们创立一些文件来验证一下


然后我们使用我们的三板斧上传到远端仓库


但是我们发现.txt后缀的文件被上传到远端仓库了,为什么呢?这是因为在.gitignore中被忽略的文件前面加上了*,这里的*就是通配符的意思,这里必须要带上*,表示所有后缀为.txt的文件。


我们现在才来创建文件试一试


此时我们就发现3.txt文件就没有同步到远端仓库


通过上面的样例,我们可以发现.gitignore我们没有立即同步到远端仓库,而也可以立即生效,它是在git add的时候已经将.gitignore加载到暂存区,并且此时就会过滤这些文件。当您在本地进行 git add 操作时,Git 会将已跟踪的文件和新添加的文件添加到暂存区。.gitignore 文件的规则在这个阶段就会生效,被指定忽略的文件将不会被包含在暂存区中。


总结:


git如何进行多人协作 - 并行开发,串行提交


多人协作是Git的一个强大功能,以下是一般的多人协作流程:


  1. 创建远程仓库: 通常,多人协作的项目会有一个中央远程仓库,比如在GitHub、Gitee或Bitbucket上创建一个项目仓库。


  1. 每个人克隆仓库: 每个团队成员将远程仓库克隆到本地,使用如下命令:
git clone <远程仓库URL>


  1. 创建分支: 为了避免直接在主分支上工作,每个人都应该在本地创建一个新的分支,用于开发特定的功能或修复问题。
git checkout -b <新分支名称>


  1. 进行开发: 每个人在自己的分支上进行开发工作。使用git addgit commit来保存更改。
git add . git commit -m "描述提交的更改"


  1. 推送到远程仓库: 当开发工作完成并且代码已经经过测试,将本地分支推送到远程仓库。
git push origin <分支名称>


  1. 合并分支: 使用 pull request(GitHub、GitLab等平台)或 merge 请求(Bitbucket),将特性分支合并到主分支。这样可以进行代码审查和确保代码质量。


  1. 更新本地仓库: 每个人在开始新的工作前应该定期更新他们的本地仓库,以包含其他人的更改。
git pull origin master


  1. 解决冲突: 如果多人在同一部分修改了代码,可能会发生冲突。在这种情况下,Git 会提示您解决冲突。


产生冲突的原因是:比如Windows用户此时上传了修改这个代码,此时远端仓库就和这个Windows用户同步了,然后Linux用户再对这个代码进行上传,此时就会因为远端仓库没有和Linux用户本地仓库同步发生冲突。


所以此时就要远端仓库和Linux用户本地仓库同步,git pull 用于将远程仓库的最新更改拉取到本地并合并,以保持本地仓库与远程仓库同步。

git pull


此时我们就可以上传到远端仓库了,我们不仅能看到Linux在本文件中修改的代码,还能看到Windows用户修改的代码。所以git仓库如果本地和远端不同步,此时如果想要其他用户上传到远端仓库,git会强制你进行同步,一旦提交成功后,对于任何人,此时你修改的代码会被所有人看到。  


上面我们每次git push的时候都需要输入用户和密码,比较麻烦,我们可以配置免密码提交

https://blog.csdn.net/camillezj/article/details/55103149



相关文章
|
3月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
491 15
|
8月前
|
Linux 开发工具 git
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
317 28
|
测试技术 持续交付 开发工具
Git版本控制在团队协作中具有重要作用
Git版本控制在团队协作中具有重要作用
461 154
|
数据可视化 开发工具 git
如何解决 Git 版本控制系统中冲突的问题?
在Git版本控制系统中,冲突是指在合并或拉取操作时,两个或多个开发者对同一文件的同一部分进行了不同的修改,导致Git无法自动确定应该采用哪种修改。
566 154
|
9月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
9月前
|
JSON 监控 物联网
WebSocket 调试全攻略:核心解析、工具选择与对比!
WebSocket 是一种全双工、实时交互的网络通信协议,适用于即时通信、实时数据流、多人协作、IoT 等场景。调试 WebSocket 时,工具应具备握手管理、实时消息收发、自定义 Header、消息大小告警、分组管理、多连接支持和断线重现等功能。主流调试工具如 Postman、ApiPost 和 ApiFox 各有优劣:Postman 界面友好适合基础调试;ApiPost 支持高级功能如消息分组和自动重连;ApiFox 则强化了多连接支持。选择工具时需根据具体需求和团队熟悉度决定。
|
9月前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离的开发模式中,API 调试的效率直接影响项目的质量和交付速度。通过本文的对比分析,我们可以看到无工具调试模式虽具备灵活性和代码复用能力,但在操作便利性和团队协作上稍显不足。而传统的外部调试工具带来了可视化、高效协作与扩展性,却可能存在工具切换带来的开发链路断层问题。Apipost-Hepler 融合了两者的优势,让开发者无需离开熟悉的 IDEA 环境,就能享受可视化调试工具的强大功能。
307 5
|
9月前
|
JSON 监控 物联网
#WebSocket 调试全攻略:Postman、Apipost和Apifox核心解析、工具选择与对比!
WebSocket 是一种现代化的全双工通信协议,允许客户端和服务端通过持久连接实时双向传输数据。它适用于即时通讯、实时通知、金融行情、在线协作、物联网等场景。调试 WebSocket 时,工具应具备握手管理、实时消息收发、自定义 Header、消息大小监控、分组管理、多连接支持等功能。
790 1
|
10月前
|
数据可视化 测试技术 API
GraphQL开发工具选型指南:Apipost高效调试与文档生成实战解析
本文深入解析了GraphQL开发工具Apipost在高效调试与文档生成方面的优势,对比同类工具Apifox,突出其可视化界面、实时调试及自动化文档生成等特性。Apipost通过智能代码补全、错误提示等功能简化复杂Query编写,支持一键生成标准化文档,显著提升开发效率和团队协作效果,尤其适合中大型团队应对复杂业务场景。
|
存储 开发工具 数据安全/隐私保护
「Mac畅玩鸿蒙与硬件9」鸿蒙开发环境配置篇9 - 使用Git进行版本控制
在 HarmonyOS 项目开发中,Git 版本控制可以帮助开发者规范地管理代码变更,确保协作流程顺畅。本篇将详细介绍从创建项目、提交代码到 Git 远程仓库,再到修改、推送更新的完整操作流程,重点演示如何使用 Git 和 GitHub 进行身份验证和版本管理。
615 3
「Mac畅玩鸿蒙与硬件9」鸿蒙开发环境配置篇9 - 使用Git进行版本控制