IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 个人对GIT的理解 -> 正文阅读

[开发工具]个人对GIT的理解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


GIT

提示:这里可以添加本文要记录的大概内容:

自己对git的理解


提示:以下是本篇文章正文内容,下面案例可供参考

一、GIT是什么?

GIT就是一个共享代码库,代码放在网上统一管理,大家谁修改了代码都可以在网上改,这样可以实现多人并发开发一个大项目。

但是在代码统一管理的时候有一个问题就出现了,就是两个人同时修改了一个文件,怎么协调这两者之间的修改,而不会出现一个人修改覆盖另一个人的修改。

GIT的add pull commit push就可以解决

二、GIT 结构

GIT 有四大存放代码地方,工作区,暂存区,本地库,远程库

1.工作区

比如你在IDEA或者eclipse里或者linux命令行里打开了一个项目文件,mian.cc或者student.java 这些就是工作区,说白了就是你的自己笔记本或者电脑里的代码文件

2.暂存区

就是暂时存放修改过代码的文件的地方。比如说,你今天工作,把main.java, student.java,teacher.java, school.java这四个文件改了,你就可以把今天都修改的这四个文件放在这个暂存区,等会把他们提交到本地代码库。这个暂存区就在你电脑代码目录下的隐藏文件夹 .git 里, 然后你可以用git add xxx文件名字或者 git add . 表示所有文件,提交到暂存区

3.本地库

这个比较好理解,就是把网上那个完整的代码库 复制一份到你的电脑里。 然后呢,你不是有个暂存区么,你每天工作完,就可以把暂存区里的文件,提交到本地库上,这就是git commit。

这样就完成了你对代码的修改。但是呢,本地库不联网对吧,它只记录你自己对代码的修改,别人对代码修改你看不到,你的同事也看不到你的修改呀,你还要把你本地的修改同步到网上。

4.远程库

就是网上那个共享的代码库,
git push 就是把远程库的内容换成你的本地库内容。

那这里就有个问题了,比如A修改了student.java, B修改了teacher.java, A把本地库的内容git push到远程库了,接着B也git push到远程库,那是不是A 的提交就被覆盖了,因为在B的本地库里,student.java文件并没有被修改。那A今天一天岂不是白干,气死了。

所以说,在你git push,要把最新的远程库的内容更新到你本地库的内容,也就是git pull,那这个时候git会提示B,远程库上student.java 和你电脑里的student.java不一样(因为A改了),你要怎么办,git merge 就是替换,或者忽略
所以 git pull + git merge = git fetch

5.总结

远程代码库就上网上 的共享代码放置区

本地代码库就是把远程库 复制一份 到自己电脑上,他只记录了你对代码的修改,别人对代码的修改你看不到。

所以每次你要把自己的本地代码更新到远程的时候,要先更新一下自己的本地代码,把别人的代码修改更新进来,这样才不会起冲突。

暂存区
存在感一般,就是缓存,放置所有修改的代码文件,然后一总提交到本地代码库上

工作区

你在IDE, 例如eclipse IDEA,看到的代码

使用步骤

1.下载GIT 并 注册

跳过啦就

2.ssh key

更新本地代码库(比如远程的那个代码库有更新了)
git pull
git fetch (=git pull + git merge)(比如说A修改了main.java然后他把修改后的main.java(new)提交到了远程代码库,这个时候你本地代码库的main.java是不是和远程代码库的main.java(new)不一样了,那这个时候你更新本地库的时候,git就会提醒你呀,说你这俩文件不一样,你要不要更新,如果你选择更新,那个你本地的main.java就是被新的main.java覆盖,这就是git merge)
未完待续

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:40:00  更:2022-04-09 18:41:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:10:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码