git笔记--《git 版本控制管理》

Git 是一款免费、开源、的分布式版本控制系统,最早由Linus Torvalds创建,用于管理linux内核开发。

版本控制系统(VSS)/源代码管理器(SCM)/修订控制系统(RCS):是指一个可以管理和追踪软件代码和其他类似内容的不同版本工具。

有两种建立Git版本库的基础技术。一是从头·开始创建,用现有的内容填充它;二是克隆一个已有的版本库。

第一,从头开始创建:

  1. 创建初始化版本库:git init

将所在的目录转化为git版本库。不论目录是否为空。为了显示目录是一个git版本库,git init命令创建了一个隐藏目录,在项目的顶层目录,名为.git。git 把所有的修订信息都放在这个目录下。

  1. 将文件添加到版本库中: git add filename

有意识的将重要文件和临时文件分离开来。Git add . 是将当前目录下所有文件加入版本库。目前为止,git只是暂存这些文件,这是提交之前的中间步骤。(git将add 和commit分开,是为了避免频繁的变化。)

  1. 显示中间状态:git status  看是否有提交的内容。
  2. 提交:git commit –m “Initial content” –author=”wangxu<[email protected]>”

除了目录和文件内容的实际变化外,git还会在每次提交的时候记录其他一些元数据,包括日志消息和做出本次变更的作者。可以在命令行中提供一条日志,但更典型的做法是在交互式的编译器会话期间创建消息。(设置编辑器export GIT_EDITOR=vim)。

  1. 配置提交作者:

git config user.name “wangxu”

git config user.email [email protected]

利用git config命令在配置文件里保存你的身份。

  1. 修改文件后再次提交;git commit file

因为文件已经存在版本库中,所以没有必要执行add这个命令,再把这个文件告诉索引。当在命令行里直接提交一个命令文件时,文件的变更会自动捕捉。而一般的git commit 不会在这种情况下起作用。但编辑器出现时,输入一条记录信息,然后退出编辑器,现在版本库里有两个版本的文件了。

  1. 产生版本库里一系列单独提交的历史: git log
  2. 查看特定提交的更加详细的信息: git show 提交码
  3. 提供当前开发分支简洁的单行摘要:git show-branch –more=10(表示额外的10个版本)
  4. 查看提交差异:git diff + 两个版本提交的全ID名。
  5. 版本库内文件的删除和重命名

git rm file

git commit –m “remove file”(删除和添加一样也需要两步)

git move file1 file2

git commit –m “mv file1 to file2”(在任何一种情况下,暂存的变更必须随后进行提交)

第二,创建版本库的副本

  1. 克隆:git clone dir1 dir2
  2. 查看两个版本细微的差别

ls –lsa dir1 dir2

diff –r dir1 dir2

配置文件:按照优先级递减的顺序

  1. .git/config 版本库特定的配置设置,可用—file选项修改,是默认选项,这些设置拥有最高优先级。
  2. ~/.gitconfig 用户特定的配置设置,可用—global修改。
  3. /etc/gitconfig 这是系统范围的配置设置。

Git的基本概念

Git版本库:

是一个简单的数据库,其中包含了所有用来维护和管理项目的修订版本和历史信息。Git版本库不仅仅提供版本库中所有文件的完整副本,还提供版本库本身的副本。在版本库中,Git维护两个主要的数据结构:对象库和索引。所有这些版本库数据存放在工作目录根目录下一个名为.git的隐藏子目录中。对象库在复制时能进行有效的复制,这也是用来支持完全分布式的一种技术。而索引是暂时的信息,对版本库来说是私有的,并且可以在需要的时候按需进行创建和修改。

时间: 2025-01-04 11:28:23

git笔记--《git 版本控制管理》的相关文章

Git 笔记 - git diff and git commit

To see what you’ve changed but not yet staged, type git diff with no other arguments That command compares what is in your working directory with what is in your staging area. The result tells you the changes you’ve made that you haven’t yet staged.

Git版本控制管理学习笔记5-提交

    这个标题其实有些让人费解,因为会想这个提交是动词还是名称?     提交动作是通过git commit命令来实现的,提交之后会在对象库中新增一个提交对象.提交过程中会发生哪些变化,在上一篇笔记里面已经介绍过,看下那几张过程图就可以了.     需要明确的是,在Git中,版本库的变更和提交是一一对应的关系,也就是说,提交是将变更引入到版本库的唯一方法.     Git在提交时,会记录索引的快照并把快照存放到对象库中.下一次提交前,就会将当前索引中的状态与上一次生成的快照进行对比,派生出一个

Git版本控制管理学习笔记2--起步

首先确保系统中已经安装了git,这里使用的linux系统. 一.命令行初步使用: 1.git命令: 列出它的选项和最常用的子命令.标准命令格式中,COMMAND代表的就是下面列出的子命令. [[email protected] ~]# git 2.显示版本号: [[email protected] ~]# git --version git version 1.7.1 3.裸双破折号--的作用:     它用来分离一系列参数.比如下面这个: [[email protected] ~]# git

源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torvalds 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码) git的现状 在国外已经非常普及,国内并未普及(在慢慢普及) 越来越多的开源项目已经转移到git CVS 最早的开源.免费的集中式版本控制工具 自身设计有问题,会造成提交文件不完整,版本库莫名其妙损坏的情况 SVN

精通Git(第2版)+Git团队协作+GitHub入门与实践+Git版本控制管理(第2版)

资源链接:https://pan.baidu.com/s/1FElckzWH6sqyugNK5o8b7w搜集并整理了网上有关GitHub学习的9本书籍,如下:<精通Git (第2版)>中英文PDF<Git团队协作>中英文PDF<Git权威指南(第2版)>和第1版PDF<Git版本控制管理 (第2版)>中英文PDF<GitHub入门与实践>PDF,以及Git桌面Win64bit版最新安装包目录及截图如下: 原文地址:http://blog.51ct

git笔记之安装使用

git是什么? 简单介绍一下,Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git是目前世界上最先进的分布式版本控制系统,没有传说中的之一. Git诞生? Git 是 Linus为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.在过去一段时间里,Linux的开发并没有使用到版本控制,天呐!Linux这么牛逼的系统曾经在开发过程中居然没有使用到版本控制,这个放眼于现在这个阶段觉得很不可思议,当时确实是这样的,世界各地的志愿者把源代码文件

git笔记之eclipse使用github远程仓库进行版本管理

这里记录一下eclipse开发工具中git的使用说明. 环境:centOS,eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz eclipse的使用需要依赖Java环境,这边CentOS系统里面已经安装好了JDK: 不能使用open-jdk,此版本会出现不明异常. 1.eclipse安装egit插件: eclipse里面,help --> Eclipse Marketplace 搜索egit 按照eclipse默认要求一步一步安装即可. 2.New Pr

puppet学习之使用git实现puppet版本控制

puppet学习之使用git实现puppet版本控制 本文通过创建用户资源的例子介绍为多台agent同时添加用户账户.git仓库的创建.puppet加入git仓库.通过远程管理主机管理配置文件及文件版本的回滚处理. 一.系统环境 系统平台:Centos6.6_x86_64 主机规划: 192.168.115.21   puppet1.hnr.com  master 192.168.115.22   puppet2.hnr.com  agent 192.168.115.23   puppet3.h

Git由浅入深之分支管理

几乎所有的版本控制系统都以分支的方式进行操作,分支是独立于项目主线的一条支线,我们可以在不影响主线代码的情况下,在分支下进行工作.对于传统的一些版本控制工具来说,我们通常需要花费比较多的时间拷贝主线代码,创建一个分支,并且对分支的管理效率也越来越不令人满意,而如今备受推崇的Git确实名副其实,Git中的分支非常轻量,我们可以随时随意创建任意数量的新分支,几乎感觉不到什么延时,而且对分支的操作也很高效,如,切换分支,暂存内容,分支合并,分支提交等. Git分支的与众不同 上面我们提到相对于其他大多