Git本地基础操作

1.Git简介(安装与配置)



1.Git的安装(http://www.git-scm.com/download/)

2.Git配置【git config】

关于git命令的查询方式:

  • git安装根目录下/doc/index.html可以查询,更方便的方式是在使用git时通过help进行有针对性的调用。(以查询config帮助文档为例具体语法为:git config --help/git help config
  • pro git参考文档
  • git的已配置信息都会存储在用户目录(例C:\Users\Administrator)下的.gitconfig文件中

git配置的三个级别:

system(针对系统)

global (针对当前的用户)

local   (针对当前操作的仓库)

3.git用户名的增删改查

  • git增加用户:git config --global --add user.name username
  • git删除用户:git config --global --unset user.name username
  • git查找用户:git config --global --list

4.git命令起别名

  • git config --global alias.co "checkout"

2.Git工作流程基本操作



0.git文件类型(文件对象标识:40个十六进制字符)

  • blob (binary large object):文本文件,二进制文件,链接文件
  • tree:目录
  • commit:历史提交
  • tag:指向一个固定的历史提交

1.git创建仓库

  • bare_repository:工作区和工作目录没有区别。(git init --bare RepositoryName
  • non_bare_repository:在仓库目录下有单独的.git的目录。(git init RepositoryName
  • 在创建的仓库目录下(git init)创建non_bare_repository仓库,也可以用于将已有的项目纳入git的管理。
  • 克隆其他仓库(git clone SourceRepo DestinationRepo

2.git所管理项目的文件结构

  • working directory(工作区)
  • staging area(暂存区):代表需要提交的状态。
  • history repository(历史仓库).

3.git对项目文件的管理

  • git add:将文件从工作区添加到暂存区。
  • git commit:将暂存区中的文件提交为历史记录
  • git status:查看工作区和暂存区之间的区别(红色),暂存区和上次提交历史记录的区别(绿色)
  • git rm:清理暂存区和工作区中的文件。(只清楚暂存区中的文件:git rm --cached FileName
  • git mv:修改工作区中的文件(重命名,移动)
  • git checkout:从暂存区中将已删除文件检出到工作区;
  • gitignore:标明工作区中的指定文件不被添加到暂存区或历史记录中,

对于向暂存区中添加文件且需要忽略多个文件的情况,采取的方法是在工作目录下创建名为.gitignore的文件,在其中声明忽略文件格式如下:

    • *~:通配临时文件。
    • *.[oa]:通配后缀名为o或a的文件。
    • *.txt:通配后缀名为txt的文件。
    • folder/:通配名为folder的文件夹。
    • **/res:通配各文件夹下的名为res的文件。
    • !test:指明名为test的文件不被忽略。
    • \!test1:对于忽略文件名以!开头的文件,需加反斜杠"\"进行转义。

4.git的暂存区

  • git对于暂存区的内容维护于.git/index文件中。

5.git的本地分支与合并

  • git branch:创建分支。(一般的,分支名如主分支master一般都会指向该分支的最新的一次提交)
  • git tag:标记特定打的提交;查询所创建的tag。(tag分两种:1.轻量级本地的:git tag "TagNamecommitNo. ,2.带注解可推送至服务器的:git
    tag -a "TagNamecommitNo.
  • git checkout:在分支间进行切换。(创建分支和切换分支可以融合为一条命令:git checkout -b branchName)。如果checkout至一个tag,那么此时HEAD所处的状态是detached,就是说如果你不对此tag创建分支并checkout至新分支,那么你所做的任何修改及提交都不会被保存。
  • git stash:切换分支之前保存本地修改<隐形commit>,但又不产生新的commit。(保存:git stash save -a "stashMessage"。查看该分支中存储的修改记录:git
    stash list
    。恢复保存的记录:git stash pop --index [email protected]{No.}。当恢复记录后,stash所保存的记录将不存在。如果想要保存stash记录,可以使用:git
    stash apply --index [email protected]{
    No.}。清除stash中的记录:git stash drop [email protected]{No.}。清除所有stash:git
    stash clear
    。)
  • git merge:合并分支。分两种:一种是fast-forward:两个记录是父子关系;non-fast-forward:两个记录有共同的父节点,需要先处理冲突后提交合并。(当要合并的分支之中,部分文件存在冲突,想要放弃合并:git merge --abort。)
  • git log:查看git的历史提交情况(git log --oneline --decorate --graph --all

6.查看和对比历史记录

  • git show:显示提交信息
  • git log:显示日志
  • git diff:比较差异(比较当下工作区和最近一次提交版本之间的差别)

7.撤销修改

  • git checkout:还原工作区(用暂存区中的记录来还原工作区,如git status有modified记录,此命令可撤销修改)
  • git reset:还原暂存区(使用某次递交结果来还原暂存区)
  • git clean:移除工作目录中未提交和未添加至暂存区中的文件(git clean -n显示将要删除的文件,git clean -f删除文件,git
    clean -df
    删除文件和目录。对于需要清除git工作目录下.gitignore文件中忽略的文件,git clean -n -X查看将会删除的.gitignore中的忽略文件)
  • git revert:产生新的提交并覆盖之前提交的修改

8.重写历史记录

  • git commit --amend:重写当前所指向的历史提交
    • 指向某次提交前的若干版本:([版本指针]~:该版本指针所指向版本的前一个版本。[版本指针]^n:该版本指针所指向版本的前n个版本 )
  • git rebase:维护线性历史,类似于git merge。
  • git reset:(git reset --hard [历史提交]:将暂存区和工作区还原成制定的历史提交,并移动HEAD指针。git reset --mixed:还原暂存区,并移动HEAD指针,--mixed为默认命令。git
    reset --soft [历史提交]
    :只移动HEAD指针。)
  • git reflog:列出HEAD所指向的历史纪录。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 06:17:34

Git本地基础操作的相关文章

Mac下Git的基础操作

目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快速的.免费的.稳定的在线代码托管平台有github,还有一些国内的,coding.csdn代码托管平台.京东代码托管平台等等. 二.Git的基本使用 1.注册一个git账号 咱们以coding代码托管平台为例来简单介绍 A.登陆coding网站https://coding.net/,注册coding

分布式版本管理器Git的基础操作与配置指南&lt;二&gt;

一.Git分支介绍与创建 Git中的分支,其实本质上仅仅是个指向commit对象的可变指针.Git回使用master作为分支的默认名 字,在若干次提交后,你其实已经有了一个指向最后一次提交对象的master分支,它在每次提交的时候 都会自动向前移动. 1.Git分支的创建,切换和删除 git branch 不带参数,它会给出当前所有分支的清单,*表示当前所在的分支 git branch -v 附带显示各个分支最后一次commit信息 git branch testing 创建一个tesing分支

git,svn基础操作

git和svn的操作都能管理代码,现在主流的就是这两个了,两个的区别最大的是: svn是集中式的版本控制系统.git是分布式的版本控制系统.svn 很简单 就不用说了. git说说我最常用的把自己代码推送到github上: 我的电脑是 工作区(通过add)-->暂存区(通过commit)-->master 1:先在自己电脑上装git 2:先绑定一个自己的信息 $ git config --global user.name "Your Name" $ git config -

Git 本地仓库操作基本命令

1. 首先要配置用户信息配置(全局配置) $ git config --global user.name leo $ git config --global user.email [email protected] 2. 进入项目所在目录,git 初始化 ## 会在当前目录下创建隐藏的 .git 目录,用于 git 跟踪版本管理 $ git init 3. 将修改过的文件由工作区添加到暂存区(每次修改须重新添加) ## 添加单个文件 $ git add some.php ## 添加所有文件  

Git大法好——2.Git本地操作指令详解

Git大法好--2.Git本地操作指令详解 引言 上节给大家讲解了有关于Git的一些概念,Git的引入,Git的四个组成部分,Git文件的状态,以及 Git的下载安装:前面也讲过Git和SVN有个明显的差别就是,Git可以不需要网络就可以进行版本 控制,这是因为Git中每个电脑都拥有一个本地的版本库,而远程的仓库仅仅是作为我们交换修改 的一个工具!即使失去这个工具,我们也可以干活,只是交换修改不方便罢了,假如是SVN,远程 服务器挂了-所以,我们使用Git的时候大部分时间都是在进行Git的一些本

Git基础操作

配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a directory 2.如果没有就创建新的秘钥 $ ssh-keygen -t rsa -C "注册Github用的邮箱" $ ssh-keygen -t rsa -C "注册Github用的邮箱" 按照提示一路输入即可. ssh-keygen -t rsa -C &q

Git 学习(三)本地仓库操作——git add &amp; commit

Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上章节已有提及,这章节具体说明什么是工作区及暂存区,以及如何使用本地git库的操作命令:重点 git add 及 git commit . 回顾上一章节版本库创建: 先将 D:盘下的 learngit 整个文件夹删除,然后创建空的 Git 版本库. 工作区(Working Directory) 和  版本库(Repository) 工作区即操作系统中看到的文件夹,如  d:/learngit ,目前工作区是空的. 工作区有一

分布式版本管理器Git的基础操作指南

对于任何一个文件,在Git内都只有3种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地波啊存在本地数据库中了,已修改表示修改了某个文件,但还没有提交保存,已暂存表示把已修改的文件放在下次提交时要保存的清单中. 一.基本的Git工作流程如下所示: 在工作目录中修改某些文件 对这些修改了的文件做快照,并保存到暂存区域 提交更新,将保存在暂存区域的文件快照转储到git目录中 二.Git安装 yum install curl-devel

Git使用基础篇

Git使用基础篇 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1.Git是什么 Git在Wikipedia上的定义:它是一个免费的.分布式的版本控制工具,或是一个强调了速度快的