学习笔记:02_Git入门

学习笔记:02_Git入门

Git入门

SVN是一个集中式管理工作流 进行管理和维护代码.

使用Git管理Git;自2005诞生的。分支管理系统。

集中式版本控制系统CVCS

分布式版本控制系统DVCS

Git、GitHub、Gitlab

  • Git是一个版本控制软件
  • GitHub与Gitlab都是用于管理笨笨的服务端软件
  • GitHub提供免费服务(代码需要公开)、付费服务(代码为私有)
  • Gitlab用于企业内部管理Git版本库。功能呢上类似于GitHub(可以理解成企业内部的GitHub)

Git设计目的

快速、搞笑存储、完全分布、简单 满足大规模项目需要

Git的优点

  • 本地建立版本库
  • 本地版本控制
  • 多主机异地协同工作
  • 重写提交说明
  • 有后悔药可以吃
  • 更好的提交列表
  • 更好的差异比较
  • 跟完善的分支系统
  • 速度极快

Git工作模式

  • 版本库初始化
    • 个人技术及从版本服务器同步(远程服务器和本地是一模一样的)
  • 操作
    • 大多数操作在个人计算机上
    • 添加文件
    • 修改文件
    • 提交变更
    • 查看版本历史
  • 版本库同步
    • 将本地修改推送到版本服务器

Git文件存储

Git维护的是一个全量的变化(修改之后的全部的内容);SVN维护的是其中改变的,维护增量的变化(可能某一处的增、删、改)。

Git基础

  • 直接记录快照,而非差异比较
  • 几乎所有的操作在本地执行
  • 时刻保持数据的完整性
  • 多数操作今天加数据
  • 文件三种状态
    • 已修改(modified)
    • 已暂存(staged)
    • 已提交(committed)

Git文件状态

  • Git文件
    • 已被版本库管理的文件
  • 已修改
    • 在工作目录修改Git文件
  • 已暂存
    • 对已修改的文件执行Git暂存操作,将文件存入暂存区
  • 已提交
    • 将暂存处的文件执行Git提交查找,将文件存入版本库
工作区---->暂存区--->对象区(版本库)

add命令:把工作区--->暂存区(通过add命令把以修改的文件放入暂存区中)
commit命令:暂存区---->版本库(或者叫Git仓库)

git pull 将远程的版本库拉取到本地版本库

git push 将本地版本看的内容推送到远程版本库(前提先要add/commit命令)

我的理解:也就是说吧需要的文件放入到本地版本库中那么需要使用add/commit命令。然后把本地版本库中的文件使用git push推送到远程版本库。本地版本库和远程版本库进行同步,使用git pull命令

Mac本安装homebrew软件,优点内容360软件管家一样,通过homebrew可以更快的去安装其他软件(homebrew前提先安装Git)

Windows安装Git,自带GUI图像界面工具;SourceTree 图像界面的来操作Git;或者使用TortoiseGit

Git常用的命令

  • 创建本地版本库 $git init
Administrator@kevin MINGW32 ~/Desktop
$ mkdir myGit

Administrator@kevin MINGW32 ~/Desktop
$ cd myGit/

Administrator@kevin MINGW32 ~/Desktop/myGit
$ which git
/mingw32/bin/git

Administrator@kevin MINGW32 ~/Desktop/myGit
$ pwd
/c/Users/Administrator/Desktop/myGit

Administrator@kevin MINGW32 ~/Desktop/myGit
$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/myGit/.git/

Administrator@kevin MINGW32 ~/Desktop/myGit (master)
$ ls -al
total 20
drwxr-xr-x 1 Administrator 197121 0 八月   20 21:09 ./
drwxr-xr-x 1 Administrator 197121 0 八月   20 21:06 ../
drwxr-xr-x 1 Administrator 197121 0 八月   20 21:09 .git/


.git 表示隐藏目录
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100781.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SSE的学习

    SSE的学习看到intel向量化指令在矩阵乘应用中的评估_softee的专栏-CSDN博客中描述的效果而心动,然后咨询了下博客园博主,我稍微看了下《simdforc++developers》感觉SSE这些指令更像一种寄存器语言,乍一接触略不适应。然而我的疑问是:1、如果对一个步骤我用了TBB/MKL/CILK这种易操作的并行指令,内部能否再用SSE指令,能否性能进一步提升?或者像OMP一样不适合嵌套并行?2、这种向量化指令是否只对无依赖性流程可用?对dst(i)=src(i)+dst(i-1);…

    2025年6月17日
    3
  • java的格式输入语句是_java输入输出语句是什么「建议收藏」

    java的格式输入语句是_java输入输出语句是什么「建议收藏」对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法输出流java常用的输出语句有下面三种:System.out.println();//换行打印,输出之后会自动换行System.out.print();//不换行打印System.out.printf();//按格式输出输出示例publiccla…

    2022年7月7日
    21
  • POJ-1502-MPI Maelstrom

    POJ-1502-MPI Maelstrom

    2021年6月21日
    108
  • gpl和lgpl区别_nh拿下pgc开门红

    gpl和lgpl区别_nh拿下pgc开门红GPL我们很熟悉的Linux就是采用了GPL。GPL协议和BSD,ApacheLicence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开

    2025年6月6日
    4
  • Python中线程同步与线程锁「建议收藏」

    Python中线程同步与线程锁「建议收藏」文章目录Python中线程同步与线程锁线程同步threading.Event对象threading.Timer定时器,延迟执行threading.Lock锁可重入锁RLockCondition条件锁,等待通知therading.Semaphore信号量threading.BoundedSemaphore有界信号量Python中线程同步与线程锁线程同步概念*线程同步,线程间协同,通过某种技…

    2022年6月21日
    31
  • 如何正确的理解RPN网络的train和test[通俗易懂]

    如何正确的理解RPN网络的train和test[通俗易懂]刚开始学FasterRCNN时,遇到这么一个困惑不知其他人有没有:RPN网络在程序中的训练是如何进行的?它都训练了网络中的哪些部分?其实这些我们如果不看源码都很难真正理解!我们以Faster-RCNN_TF的源码为例,以下代码取自./lib/networks/VGGnet_train.py#=========RPN============#以下代码的先后顺序我调整了一下,便…

    2022年6月23日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号