当前位置: 首页 > news >正文

Git的总体认知与具体实现

GIt概念

是一种分布式控制管理器

tips:敏捷开发 -> 先上线,后续开发再继续开发

集中式和分布式

集中式的版本控制系统每次在写代码时都需要从服务器中拉取一份下来,并且如果服务器丢失了,那么所有的就都丢失了,你本机客户端仅保存当前的版本信息,换句话说,集中式就是把代码放在一个服务器上集中管理,你的所有回滚等操作都需要服务器的支持。

分布式的版本控制系统,那么每个人的电脑都是服务器,当你从主仓库拉取一份代码下来后,你的电脑就是服务器,无需担心主仓库被删或者找不到的情况,你可以自由在本地回滚,提交,当你想把自己的代码提交到主仓库时,只需要合并推送到主仓库就可以了,同时你可以把自己的代码新建一份仓库分享给其它人

 

解决宕机问题,

如果是git先从远程仓库clone下来,则是需要在本地仓库中进行commit操作(先有远程仓库)

如果是先有本地仓库的话 -> 要先与远程仓库做关联

推荐第一种方式

本地仓库到远程仓库的提交是push

本地仓库的提交是commit

理解

你的项目名 + .git文件  -> 本地仓库

clone了远程仓库 -> 业务code编写在workspace  -> 暂存区Index Stage(add命令)

test目录 -> 进入java6目录 ->   git bash here  -> 

初次需要登录 git clone 远程仓库的https地址 done  java6目录下得到本地仓库 -> 根目录创建项目文件

-> A.java例如或者index.htm  -> 此时是未提交状态 进入

git status

git .

git status

找到gitee仓库的远程仓库

git log查看日志

必须起文件名操作:修改

vi .gitignore  进行设置

不要在远程仓库直接修改文件  你在远程仓库直接修改后(比如加了sleep方法)

我在本地有加入drive方法 

git add .

git commit -m '张三添加了drive方法'

// 暂时不加git pull(按理来说)

git remote

orgin

git push orgin master

需要:先pull

手动合并(你改我也改)

work-demo第一次

版本回退问题

分类:已经commit但没有push/已经commit的并且已经push的

git reset  --soft  .......

idea合并冲突?(重要)

(记得需要先pull)

GIt实操

Git:就是把我们的代码提交到远程仓库当中去

输入git init把这个目录变成一个git仓库

第二步:把我本地的git仓库与远程连接起来

git remote add origin address

git remote -v:查看当前的远程仓库有哪些?

上面只是提交了仓库 还没有提交我仓库的所有代码

提交代码:

git add:把你本地的所有的文件添加到一个暂存区 然后再从你的暂存区里面

把你的所有文件存在真正的企业仓库里面去啊

但是提交的时候有些东西不想提交上去(额外文件不需要)  -> .ideal

这个时候需要新建一个.gitignore文件

接上之前的  提交代码部分:

git add .

git status查看当前那些文件进入到暂存区

好了暂存代码部分完成(现在所有的文件都存到了一个暂存区之后啊)

开始提交code

git commit -m "初次提交"  -> 这个命令就是把你暂存区的文件提交到你的仓库里面去(本地仓库)

接下来就是把本地仓库的东西通过push命令到远程仓库就行了

git push -u origin "master"(初次需要进行git登录)

.注意因为你的远程仓库里面进行了一次提交后,执行该命令会报错

要先pull再去push

.出现bug:

.

强制覆盖远程仓库 

git pus -f origin "master"

记得关联远程仓库

git remote add origin "远程仓库地址"

http://www.lryc.cn/news/266010.html

相关文章:

  • Hadoop入门学习笔记——三、使用HDFS文件系统
  • JavaWeb—html, css, javascript, dom,xml, tomcatservlet
  • LangChain 31 模块复用Prompt templates 提示词模板
  • 深入理解 Git 分支管理:提升团队协作与开发效率
  • WPF StackPanel
  • 由正规表达式构造DFA,以及DFA的相关化简
  • 模式识别与机器学习(九):Adaboost
  • 【JAVA】分布式链路追踪技术概论
  • ZooKeeper 使用介绍和原理详解
  • 模式识别与机器学习(八):决策树
  • Pinely Round 3 (Div. 1 + Div. 2)(A~D)(有意思的题)
  • 在Linux下探索MinIO存储服务如何远程上传文件
  • 持续集成交付CICD:Linux 部署 Jira 9.12.1
  • Linux命令-查看内存、GC情况及jmap 用法
  • nginx安装letsencrypt证书
  • docker笔记1-安装与基础命令
  • VSCode软件与SCL编程
  • Opencv中的滤波器
  • <JavaEE> 基于 TCP 的 Socket 通信模型
  • [THUPC 2024 初赛] 二进制 (树状数组单点删除+单点查询)(双堆模拟set)
  • 机器学习算法(11)——集成技术(Boosting——梯度提升)
  • 使用GBASE南大通用负载均衡连接池
  • Flink 数据序列化
  • 【并发设计模式】聊聊两阶段终止模式如何优雅终止线程
  • Java实现非对称加密【详解】
  • simulinkveristandlabview联合仿真——模型导入搭建人机界面
  • k8s中Helm工具实践
  • 推荐算法架构7:特征工程(吊打面试官,史上最全!)
  • Web前端 ---- 【Vue】vue路由守卫(全局前置路由守卫、全局后置路由守卫、局部路由path守卫、局部路由component守卫)
  • uniapp点击tabbar之前做判断