git-01-简介、安装和配置

说明

本篇文章是本人回顾git知识点时从《progit》一书中摘抄出来的笔记,毕竟好记性不如烂笔头嘛,不然我也不会回顾了……
另请大神绕路,不喜勿喷……

1 版本控制

版本控制即记录文件内容变化,将来可以随时回退到历史版本,控制文件的变更。
比如你编辑文档时可能会随时把整个文档或多个文档完完整整复制一份,再加上日期用以备份,这也就是版本控制了。不过这样毕竟效率不高,还容易出错。

有了版本控制这个需求,对应的软件产品就出现了:

2 git简介

2.1 why git?

传统的集中式版本控制系统比如SVN等都有一个单一的集中管理的服务器,保存所有文件的变更,而所有客户端都连到这台服务器,提交自己的更新或拉去新版本。这样一来,只有中央服务器宕机,所有的客户端都将无法提交自己的更新也无法拉去新的版本。甚至可能丢失历史记录。

像git等DVCS,客户端是把代码仓库完整地镜像下来。每一次的变更都是对仓库的一次完整备份。
常常都是本地一个仓库,远程一个仓库。

以下是progit一书中对git的描述:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

2.2 git基本思想

以下内容是来自《progit》一书中对git的总结:

  • 直接记录快照,而非差异比较

简言之,其他大部分版本控制系统正式记录文件的变更部分,待回退版本的时候再“计算”出某个历史提交的文件内容。
而git是记录整个文件内容的快照。当然,文件没有变更的时候是不会产生重复的快照的,只是用一个类似指针的东西只想之前的快照。

  • 近乎所有操作都是本地执行

就像上面提到的:“一个本地仓库,一个远程仓库”。
工作时,几乎所有操作都是对本地仓库的操作。待需要提交时再提交的远程仓库。
也就是说,大多数操作都不需要联网。

  • 保证完整性

文件内容变了,那么文件的特征码就会变,在远程传输的时候损坏或者误操作修改文件都会被记录。

2.3 文件状态

git文件状态

  • 工作区:该区域的文件是某一个具体的历史提交。是从仓库中提取出的一个版本
  • 暂存区:是一个文件,保存了下次将提交的文件列表信息
  • .git目录:所有历史版本的仓库,存储了所有的历史提交

针对于以上三个区域,文件的状态有如下三种:

  • 已提交:文件存储在.git目录中
  • 已修改:自上次提交后做了修改但还没有添加到暂存区
  • 已暂存:文件已经添加到暂存区,但还没有提交到历史记录(.git)

git工作流程

  • 在工作区中编辑文件
  • 将修改好的文件加入暂存区,待下次提交
  • 将暂存区中的文件提交到历史仓库

3 git基本配置

3.1 git配置文件

配置文件按作用域的不同可以分为三类,优先级从低到高:

  • system

系统范围的配置文件,所用用户的通用配置。

git config --list
  • global

只针对当前用户的配置,会覆盖system级别的配置。

位置:~/.gitconfig或~/.config/git/config

git config --global --list
  • local

针对于当前仓库的特殊配置

位置:${project}/.git/config

其内容可以通过如下方式查看:

git config --local --list
[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true

git配置文件格式

global级别的配置文件内容举例

本人机器上配置文件位置为:C:/Users/hylexus/.gitconfig

配置文件内容如下:

[user]
    email = hylexus@163.com
    name = hylexus
[alias]
    lol = log --graph --oneline --decorate --all

等号左边为键,右边为值。

其中配置项为:

  • user.email = hylexus@163.com
  • user.name = hylexus
  • alias.lol = log –graph –oneline –decorate –all

通过命令查看以验证:

$ git config --global --list
user.email=hylexus@163.com
user.name=hylexus
alias.lol=log --graph --oneline --decorate --all

3.2 配置用户信息

用户信息应该配置为针对于当前用户的,因为在每次提交的时候会使用用户信息作为修改者.。

设置

$ git config --global user.name "hylexus"
$ git config --global user.email "hylexus@163.com"

查看

$ git config --global user.name
hylexus
$ git config --global user.email
hylexus@163.com

3.3 修改默认编辑器

此处本人在windows上用命令配置sublime作为默认编辑器,但是失败了。
原因是sublime的安装路径中有个目录中带空格。

此处尝试失败

$ git config --global core.editor "D:/install/sublime/Sublime Text 3/sublime_text.exe"

执行之后,git并没法打开sublime,因为在配置文件中的值是去掉引号的“Sublime Text 3”路径含有空格。
配置文件长这样:

[user]
    email = hylexus@163.com
    name = hylexus
[core]
    editor = D:/install/sublime/Sublime Text 3/sublime_text.exe

直接修改配置文件

修改文件C:/Users/hylexus/.gitconfig,为路径手动加上引号即可。

[user]
    email = hylexus@163.com
    name = hylexus
[core]
    editor = 'D:/install/sublime/Sublime Text 3/sublime_text.exe'

参考资料

  • 《progit》
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
git-svn 是一个桥接工具,用于在 Git 和 Subversion (SVN) 之间进行转换和交互。下面是 git-svn 的安装配置过程。 安装 Git: 1. 在官网 (https://git-scm.com/downloads) 上下载适合你操作系统的 Git 安装程序。 2. 打开安装程序并按照指示进行安装。 3. 验证安装是否成功,在命令提示符或终端上运行 "git --version" 命令,如果出现 Git 的版本号信息,则说明安装成功。 配置 Git: 1. 打开命令提示符或终端,并运行以下命令来配置你的 Git 用户名和邮箱: ``` git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址" ``` 安装 Git-svn 桥接工具: 1. 在命令提示符或终端上运行以下命令安装 Git-svn: - 在 Ubuntu 上使用 apt-get: ``` sudo apt-get install git-svn ``` - 在 macOS 上使用 Homebrew: ``` brew install git-svn ``` - 在 Windows 上使用 Scoop: ``` scoop install git-svn ``` 配置 Git-svn: 1. 在命令提示符或终端上运行以下命令配置 Git-svn: ``` git svn init [SVN 仓库 URL] -s ``` 2. 这将为你的 Git 仓库创建一个指向 SVN 仓库的远程“refs/remotes/origin/trunk”引用。 3. 运行以下命令来下载远程 SVN 仓库的历史记录: ``` git svn fetch ``` 4. 这将下载远程 SVN 仓库的历史记录到你的本地 Git 仓库。 5. 当你想要提交更改时,使用 Git 的命令,例如 "git add"、"git commit"等来管理更改,并使用以下命令将更改推送到 SVN 仓库: ``` git svn dcommit ``` 以上是 git-svn 的安装配置过程。-git提供了更快速、灵活、分布式的版本控制系统,而git-svn桥接工具则使得想要在 git 和 Subversion (SVN)之间进行转换和交互的用户能够灵活使用两种工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值