Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。(和linux同作者)Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。Git 是分布式的,这是 Git 和 SVN,CVS 等,最核心的区别。Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。Git 分支和 SVN 的分支不同。Git 没有一个全局的版本号,目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

1.安装

yum安装
yum install git
源码安装

2.工作区、暂存区和版本库

工作区:当前目录。
暂存区:stage, 或index。存放在当前目录下的.git/index中。
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

3.git config

[root@node2 temp]# git config
Display all 282 possibilities? (y or n)
add.ignoreErrors                core.excludesfile               gitcvs.logfile                  notes.rewrite.rebase
advice.commitBeforeMerge        core.fileMode                   gitcvs.usecrlfattr              notes.rewriteRef
advice.detachedHead             core.fsyncobjectfiles           gui.blamehistoryctx             pack.compression
advice.implicitIdentity         core.gitProxy                   gui.commitmsgwidth              pack.deltaCacheLimit
advice.pushNonFastForward       core.ignorecase                 gui.copyblamethreshold          pack.deltaCacheSize
advice.resolveConflict          core.ignoreCygwinFSTricks       gui.diffcontext                 pack.depth
advice.statusHints              core.ignoreStat                 gui.encoding                    pack.indexVersion
alias.                          core.logAllRefUpdates           gui.fastcopyblame               pack.packSizeLimit
am.keepcr                       core.loosecompression           gui.matchtrackingbranch         pack.threads
apply.ignorewhitespace          core.notesRef                   gui.newbranchtemplate           pack.window
apply.whitespace                core.packedGitLimit             gui.pruneduringfetch            pack.windowMemory
branch.                         core.packedGitWindowSize        gui.spellingdictionary          pager.
branch.autosetupmerge           core.pager                      guitool.                        pretty.
branch.autosetuprebase          core.preferSymlinkRefs          gui.trustmtime                  pull.octopus
browser.                        core.preloadindex               help.autocorrect                pull.twohead
clean.requireForce              core.quotepath                  help.browser                    push.default
color.branch                    core.repositoryFormatVersion    help.format                     rebase.autosquash
color.branch.current            core.safecrlf                   http.lowSpeedLimit              rebase.stat
color.branch.local              core.sharedRepository           http.lowSpeedTime               receive.autogc
color.branch.plain              core.sparseCheckout             http.maxRequests                receive.denyCurrentBranch
color.branch.remote             core.symlinks                   http.minSessions                receive.denyDeleteCurrent
color.decorate.branch           core.trustctime                 http.noEPSV                     receive.denyDeletes
color.decorate.HEAD             core.warnAmbiguousRefs          http.postBuffer                 receive.denyNonFastForwards
color.decorate.remoteBranch     core.whitespace                 http.proxy                      receive.fsckObjects
color.decorate.stash            core.worktree                   http.sslCAInfo                  receive.unpackLimit
color.decorate.tag              diff.algorithm                  http.sslCAPath                  receive.updateserverinfo
color.diff                      diff.autorefreshindex           http.sslCert                    remote.
color.diff.commit               diff.external                   http.sslCertPasswordProtected   remote.pushdefault
color.diff.frag                 diff.ignoreSubmodules           http.sslKey                     remotes.
color.diff.func                 diff.mnemonicprefix             http.sslVerify                  repack.usedeltabaseoffset
color.diff.meta                 diff.noprefix                   http.useragent                  rerere.autoupdate
color.diff.new                  diff.renameLimit                i18n.commitEncoding             rerere.enabled
color.diff.old                  diff.renames                    i18n.logOutputEncoding          sendemail.
color.diff.plain                diff.statGraphWidth             imap.authMethod                 sendemail.aliasesfile
color.diff.whitespace           diff.submodule                  imap.folder                     sendemail.aliasfiletype
color.grep                      diff.suppressBlankEmpty         imap.host                       sendemail.bcc
color.grep.context              diff.tool                       imap.pass                       sendemail.cc
color.grep.filename             difftool.                       imap.port                       sendemail.cccmd
color.grep.function             difftool.prompt                 imap.preformattedHTML           sendemail.chainreplyto
color.grep.linenumber           diff.wordRegex                  imap.sslverify                  sendemail.confirm
color.grep.match                fetch.recurseSubmodules         imap.tunnel                     sendemail.envelopesender
color.grep.selected             fetch.unpackLimit               imap.user                       sendemail.from
color.grep.separator            format.attach                   init.templatedir                sendemail.identity
color.interactive               format.cc                       instaweb.browser                sendemail.multiedit
color.interactive.error         format.headers                  instaweb.httpd                  sendemail.signedoffbycc
color.interactive.header        format.numbered                 instaweb.local                  sendemail.smtpdomain
color.interactive.help          format.pretty                   instaweb.modulepath             sendemail.smtpencryption
color.interactive.prompt        format.signature                instaweb.port                   sendemail.smtppass
color.pager                     format.signoff                  interactive.singlekey           sendemail.smtpserver
color.showbranch                format.subjectprefix            log.date                        sendemail.smtpserveroption
color.status                    format.suffix                   log.decorate                    sendemail.smtpserverport
color.status.added              format.thread                   log.showroot                    sendemail.smtpuser
color.status.changed            format.to                       mailmap.file                    sendemail.suppresscc
color.status.header             gc.                             man.                            sendemail.suppressfrom
color.status.nobranch           gc.aggressiveWindow             man.viewer                      sendemail.thread
color.status.untracked          gc.auto                         merge.                          sendemail.to
color.status.updated            gc.autopacklimit                merge.conflictstyle             sendemail.validate
color.ui                        gc.packrefs                     merge.log                       showbranch.default
commit.status                   gc.pruneexpire                  merge.renameLimit               status.relativePaths
commit.template                 gc.reflogexpire                 merge.renormalize               status.showUntrackedFiles
core.abbrev                     gc.reflogexpireunreachable      merge.stat                      status.submodulesummary
core.askpass                    gc.rerereresolved               merge.tool                      submodule.
core.attributesfile             gc.rerereunresolved             mergetool.                      tar.umask
core.autocrlf                   gitcvs.allbinary                mergetool.keepBackup            transfer.unpackLimit
core.bare                       gitcvs.commitmsgannotation      mergetool.keepTemporaries       url.
core.bigFileThreshold           gitcvs.dbdriver                 mergetool.prompt                user.email
core.compression                gitcvs.dbname                   merge.verbosity                 user.name
core.createObject               gitcvs.dbpass                   notes.displayRef                user.signingkey
core.deltaBaseCacheLimit        gitcvs.dbTableNamePrefix        notes.rewrite.                  web.browser
core.editor                     gitcvs.dbuser                   notes.rewrite.amend
core.eol                        gitcvs.enabled                  notes.rewriteMode

使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:
仓库级别 local,优先级最高,用户级别 global,优先级次之,系统级别 system优先级最低。
git 仓库级别对应的配置文件是当前仓库下的.git/config。
git 用户级别对应的配置文件是用户宿主目录下的~/.gitconfig。
git系统级别对应的配置文件是git安装目录下的 /etc/gitconfig。

#查看仓库级别配置信息
[root@node2 temp]# git config --local -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.test.url=https://github.com/blueicex/test.git
remote.test.fetch=+refs/heads/*:refs/remotes/test/*
branch.test.remote=test
branch.test.merge=refs/heads/test#查看用户级别配置信息
[root@node2 temp]# git config --global -l
user.name=blueicex
user.email=blueice1980@126.com
#查看系统级别配置信息
[root@node2 temp]# git config --system -l
fatal: unable to read config file '/etc/gitconfig': No such file or directory
#查看所有的配置信息,依次是、用户级别、仓库级别
[root@node2 temp]# git config -l
user.name=blueicex

git config -e 编辑配置文件
git config --local -e 编辑仓库级别配置文件
git config --global -e 编辑用户级别配置文件
git config --system -e 编辑系统级别配置文件
git config 添加配置项目
git config --global user.email “Name@***.com”
git config --global user.name “Name”
#增加配置项
–add
git config [–local|–global|–system] --add section.key value(默认是添加在local配置中)
#获取配置项
–get
git config [–local|–global|–system] --get section.key(默认是获取local配置中内容)
#删除配置项
–unset
git config [–local|–global|–system] --unset section.key

3.git init

git init在当前目录生成.git文件夹。

4.git add

同名文件只要添加一次就不必再重新添加了,自动识别各种状态。
#添加所有内容
git add -A
#添加新文件和编辑过的文件不包括删除的文件
git add .
#添加编辑或者删除的文件,不包括新添加的文件。
git add -u
#查看中被所有修改过或已删除文件但没有提交的文件,并通过其revert子命令可以查看中所有未跟踪的文件,同时进入一个子命令系统。
git add -i
#使用指定目录作为Git仓库。在当前目录创建了repo1
git init repo1

5.git clone

[root@node2 temp]# git clone
You must specify a repository to clone.usage: git clone [options] [--] <repo> [<dir>]-v, --verbose         be more verbose-q, --quiet           be more quiet--progress            force progress reporting-n, --no-checkout     don't create a checkout--bare                create a bare repository--mirror              create a mirror repository (implies bare)-l, --local           to clone from a local repository--no-hardlinks        don't use local hardlinks, always copy-s, --shared          setup as shared repository--recursive           initialize submodules in the clone--recurse-submodules  initialize submodules in the clone--template <template-directory>directory from which templates will be used--reference <repo>    reference repository-o, --origin <name>   use <name> instead of 'origin' to track upstream-b, --branch <branch>checkout <branch> instead of the remote's HEAD-u, --upload-pack <path>path to git-upload-pack on the remote--depth <depth>       create a shallow clone of that depth--single-branch       clone only one branch, HEAD or --branch--separate-git-dir <gitdir>separate git dir from working tree-c, --config <key=value>set config inside the new repository

git clone http[s]

Git—— 1.安装相关推荐

  1. git 下载 安装

    1.下载Git,官网地址:https://git-scm.com/,进入官网首页 在右下方的显示器中找到最新的版本下载,点击下载,跳转到下载页面 下载完成 2.安装Git 双击刚刚下载完成的安装文件, ...

  2. git 的安装和项目建立

    1.首先在git官网下载相应的系统需要的git安装包 2.查看git是否安装成功   git --version 3.更改gitconfig 文件  vim ~/.gitconfig  (此次有个地方 ...

  3. 查看git是否安装_Java程序员的必备Linux运维技能-安装git

    查看yum库中的版本: $ yum info git 查看是否安装 $ git --version 安装依赖包 $ yum install -y curl-devel expat-devel gett ...

  4. CentOS Git服务安装

    安装yum源 yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm vim ...

  5. Git 基础 —— 安装 配置 别名 对象

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 Git 安装 Git下载地址 ...

  6. Windows下Git的安装和基本使用、搭建Git服务器

    1 Git的安装和基本使用 安装完成桌面有个Git Bash图标: 弹出Git Bash:用 git init 在目录中创建新的 Git 仓库:下面在G:/git2/test1目录创建: 创建完成会有 ...

  7. linux 的git的安装目录,Linux下Git安装及配置较详细-Go语言中文社区

    1.下载git源码 2.解压安装包 --解压:tar -zxvf git-2.9.5.tar.gz --移直目标文件:mv /root/git-2.9.5  /usr/git-2.9.5(使用Xftp ...

  8. Git 的安装与初次使用 —— Git 学习笔记 03

    Git 的安装与初次使用 -- Git 学习笔记 03 Git 的安装与初次使用 -- Git 学习笔记 03 安装 Git 在 Linux 上安装 在 Windows 上安装 初次运行 Git 前的 ...

  9. 分布式版本控制系统Git的安装与使用(作业2)

    (本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103) 分布式版本控制系统Git的安装与使用 一.安装Git b ...

  10. Git的安装(附安装包)

    目录 使用目的 关于Git的历史 Git的安装 1.运行安装包,点击next 2.选择安装路径,下一步 3.点击next 4.设置开始菜单,默认next 5.点击next 6.选择git的方式 7.剩 ...

最新文章

  1. Scott Mitchell 的ASP.NET 2.0数据教程之一: 创建一个数据访问层
  2. catia 桥接曲面圆角_4.3.7.1-Catia曲面之多桥接曲面_简单构面
  3. MySQL-性能优化_大表和大事务的常用处理方案
  4. 炼丹侠必知的9大池化操作​汇总
  5. 【Unity3D与23种设计模式】中介者模式(Mediator)
  6. GitHub上线Trending功能,帮你轻松找到有潜力的开源项目
  7. oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
  8. node11---相册
  9. java的scanner的方法_Java Scanner reset()方法
  10. 【Elasticsearch】十九种Elasticsearch字符串搜索方式终极介绍 各种 查询
  11. python3-字符串常用操作
  12. 实验题目用正交多项式做小二乘曲线拟合
  13. 2022 年第十二届 MathorCup 高校数学建模挑战赛C题解析
  14. 网络工程师常见面试题,1分钟就能看完
  15. matlab mse mae,回归评价指标MSE、RMSE、MAE、R-Squared
  16. mysql数据库,语法语句总结。以及事务理解-基础篇
  17. Centos7部署kubernetes集群CA证书创建和分发(二)
  18. FBX导入Unity中模型没有材质的处理
  19. 51单片机的一点感想
  20. unittest的使用_Sinno_Song_新浪博客

热门文章

  1. 《自拍教程74》Python 假装企业微信电脑在线并定时关机,骗老板的好方法!
  2. python显示图片_python Image 模块处理图片
  3. 坑多路难走,学数据分析转行前要知道培训机构不会说的事情
  4. 再理解:LNode、*LinkList
  5. java的学习内容,附高频面试题合集
  6. poi 操作 PPT,针对 PPTX--表格简单操作
  7. 互联网大佬生存法则:如何防守周鸿祎?
  8. ps磨皮插件:DR5白金版(支持ps 2021)中文版
  9. Tomcat 修改网站旁边的小图标
  10. JSON日期时间的处理