Git基本操作

原创 2015年11月21日 14:34:11

21 Nov, 锦州


版本控制?


发展历史

本地版本控制系统

本地版本控制系统


集中化的版本控制系统(CVCS)

CVCS


分布式版本控制系统(DVCS)

DVCS

Git简史

同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux
内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统
BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper
的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds
)不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统制订了若干目标:

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

自诞生于 2005 年以来,Git
日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统(见第三章),可以应付各种复杂的项目开发需求。

参考自《Pro Git》


Git使用SHA-1算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个SHA-1哈希值,作为指纹字符串。

指纹字符串


Git中文件有三种状态:

  • 已提交(committed)
  • 已修改(modified)
  • 已暂存(staged)

local operations


配置

  • /etc/gitconfig 所有用户普遍配置 git config --ststem
  • ~/.gitconfig 用户配置 git confit --global
  • 工作目录下 .git/config 对当前项目有效
    git config --global user.name
    git config --global user.email

Git基础操作

创建项目

工作目录初始化新仓库:

git init

跟踪文件:

git add newfile

提交:

git commit -m 'version x'

或者克隆自现有项目:

git clone [url]

git://协议或http(s)://user@server://path.gitSSH传输协议


更新到仓库

file lifecycle

检查当前文件状态:

git status

跟踪新文件或暂存已修改文件:

git add filename

查看已修改文件与已暂存文件的差异:

git diff

查看已暂存文件与已提交文件的差异:

git diff --cached

提交更新:

git commit -m '提交说明'

跳过暂存提交更新:

git commit -a

移除文件:

git rm filename

移除跟踪但不删除文件:

git rm --cached filename

修改文件名:

git mv file_from file_to


查看提交历史

git log 选项:

  • -p 展开显示每次提交内容差异
  • 2 显示最近两次更新
  • –stat 仅显示简要的增改行数统计
  • –pretty =
  • –graph

图形化工具:gtik


撤销操作

重新提交:

git commit --amend

取消暂存:

git reset HEAD <file>

取消修改:

git checkout -- <file>


远程仓库

查看当前远程仓库:

git remote [-v]

添加:

git remote add [shortname] [url]

抓取数据:

git fetch [remote-name]

git pull [remote-name] [branch-name]

推送:

git push origin master

查看远程仓库信息:

git remote show origin

远程仓库重命名:

git remote rename lastname newname

远程仓库删除:

git remote rm remotename


打标签

两种标签:

  • 轻量级(lightweight)
  • 含附注的(annotated)

列显已有标签:

git tag

含附注:

git tag -a v1.4 -m 'my version 1.4'

git show v1.4

签署标签(GPG签名):

git tag -s v1.5 -m 'my signed tg1.5'

轻量级:

git tag v1.4-lw

验证标签:

git tag -v [tag-name]

分享标签:

git push origin v1.5
git push origin --tags


技巧

自动补全:Git源代码中 contrib/completion/git-conpletion.bash文件复制到~/.git-completion.bash

添加一行到 .bashrc :

source ~/.git-completion.bash


Git命令别名

git config --global alias.co checkout
git config --global alias.br branch
....

相关文章推荐

Git 的基本操作

  • 2014年11月19日 15:09
  • 21KB
  • 下载

勇哥带你玩转git基本操作

  • 2017年04月19日 20:33
  • 4.43MB
  • 下载

git 基本操作命令,冲突解决

git 基本操作命令详解,分支合并,pull 冲突解决办法

Git 基本操作

  • 2015年10月05日 15:19
  • 619KB
  • 下载

GIT基本操作命令及详解

  • 2014年08月21日 16:03
  • 369KB
  • 下载

Git与TortoiseGit基本操作

1. GitHub操作 本节先简单介绍 git 的使用与操作, 然后再介绍 TortoiseGit 的使用与操作. 先看看SVN的操作吧, 最常见的是 检出(Check out ...),...
  • jibaole
  • jibaole
  • 2016年01月07日 09:34
  • 4070

Windows下 Git 的基本操作

今天准备整理一下代码,重温一下Git的基本命令,好久不用忘得差不多了。 1. 进入某个目录: 进入D盘,然后进入D盘的名为Git的文件夹: $ cd D: $ cd Git 2. 返回上一级目...

git config命令使用第一篇——介绍,基本操作,增删改查

本文转自: 平时我们在使用git的时候,很少去关注其配置是如何,而在实际开发中,对git config这个命令的使用也并不是很多,但是配置对一个程序和项目来说都是很重要的,我们今天来看看git...

31.开源项目--git远程仓库的基本操作

从远程仓库拉取数据 a.仅仅拉去,不合并到本地 拉去远程分支到remotes/origin/maste、然后使用git rebase合并分支b.自动拉去某个分支更新 推送数据到运程仓库 远程仓...

Git基本操作 vs SVN

FROM http://www.cnblogs.com/guanghuiqq/archive/2012/08/27/2658752.html              http://www.op...
  • basycia
  • basycia
  • 2016年07月12日 15:10
  • 877
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git基本操作
举报原因:
原因补充:

(最多只允许输入30个字)