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 表示隐藏目录
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100781.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...