git 版本控制系统
目标:完全搞懂git分布式版本控制系统
搭建git版本控制系统
cvs集中化版本控制系统--集中式管理的服务器
git分布式版本控制系统--会将原始代码仓库镜像下来

新项目使用git管理,初始化
git init
从现有仓库克隆
git clone url filename

已跟踪
未更新、未修改
已修改
已放入暂存区

未跟踪

检查当前文件状态
git status

跟踪新文件,暂存已修改文件
git add filename

忽略某些文件
创建.gitignore 文件

查看尚未暂存文件更新内容
git diff

查看已经暂存和上次提交时的快照之间差异
git diff --cached
高版本可使用 git diff --staged

提交暂存区的更新
git commit
-m 后添加提交说明

跳过暂存区直接提交快照
git commit -a -m

移除跟踪文件
git rm filename
删除之前已经存入暂存区的,需加参数-f 强制删除

移除跟踪文件但不删除文件(稍后在.gitignore文件中补上)
git rm --cached filename

移动文件/修改文件
git mv file_form file_to

查看提交历史
git log
-p 展开每次提交差异 -2 则是最近两次提交内容
--pretty 制定不同格式展示历史内容(参数oneline、short、full、fuller)

使用图形化工具查看提交历史
gitk 软件

修改最后一次提交
git commit --amend

取消已经暂存的文件
git reset HEAD file

取消对已经暂存的文件的修改
git checkout -- file

查看当前的远程库(默认origin未远程库名)
git remote (-v 显示对应的克隆地址)

添加远程仓库
git remote add [shortname] [url]

从远程仓库拉取数据
git fetch [remote-name]
git clone 就是自动创建本地仓库master分支跟踪远程仓库master分支

推送数据到远程仓库
git push [remote-name] [branch-name]

查看远程仓库信息
git remote show [remote-name]

远程仓库重命名和删除
git remote rename name_from name_to
git remote rm [remote-name]

列出已有的标签
git tag

新建含附注的标签
git tag -a v1.1 -m '说明'
查看相应标签版本信息
git show v1.1

新建轻量级标签
git tag v1.1

签署标签
git tag -s v1.1 -m '说明'

验证标签
git tag -v [tag-name]

后续加注标签
git tag -a v1.1 校验字符

分享标签到远程仓库
git push origin [tagname]
git push origin --tags(分享所有标签到远程库)

git命名别名
git config --global alias.st status

git分支
使用分支将你的工作从主线上分离开

创建分支
git branch [branch-name]

切换分支
git checkout [branch-name]

创建分支并切换分支
git branch -b [branch-name]

合并分支
git merge [branch-name]

列出所有分支
git branch

查看各个分支最后一次提交信息
git branch -v

查看哪些分支已经被合并入当前分支
git branch --merge

查看尚未合并的分支
git branch --no-merge

删除分支(删除尚未合并分支会报错)
git branch -d [branch-name]
git branch -D [branch-name] (强制执行)

向远程仓库推送数据
git push origin [branch-name]

分支式工作流程
master
develop
topic

服务器上的git

GIT主要通过本地协议、git协议、SSH协议、http协议传输数据
除HTTP协议外,其他都需要在服务器端安装并运行GIT

配置git
git config --global user.name 'name'
git config --global user.email 'email'

git中颜色配置
git config --global color.ui true/false
git config --global color.diff.meta 'color-name'

编辑器中的格式化与空白
Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF
git config --global core.autocrlf true
core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换
git config --global core.autocrlf input
window 服务器不需要转换
git config --global core.autocrlf false

git版本控制系统重新认识的更多相关文章

  1. Google Code项目代码托管网站上Git版本控制系统使用简明教程

    作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和 Subversion.Subversion即SVN相信大家都已经熟知了,这 ...

  2. Git版本控制系统VCS

    Git版本控制系统VCS 一.版本控制系统基本情况说明 版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统 1.作用 记录文件的所有历史变化 随时可回复到任何一个历史状 ...

  3. git版本控制系统小白教程(上)

    前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享. Git介绍 ​ Git是目前世界上最先进的分布式版本控制系统.并且它是一个开源的分布式版本控制系 ...

  4. git版本控制系统小白教程(下)

    前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享,查看上部请点传送门. 删除文件 ​ git删除文件一般有三种情况,第一种是在工作区修改了文件,但是 ...

  5. 初识git版本控制系统

    当下git分布式版本控制系统越来越火,掌握git也是必须的一个技能.因此,对git做了如下学习. Git初级指南 1. 先安装git.(ps:在select cmponents处要勾选Git Bash ...

  6. 如何选择版本控制系统 ---为什么选择Git版本控制系统

    版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开 ...

  7. Git版本控制系统之基本使用

    最早是通过接触著名的开源社区Github了解到Git的,但一直没有系统学习过.这次下定决心从头到尾系统的学一学,也将学习过程记录于此,供大家批驳.本篇文章先从以下几个方面简单了解一下Git: Git的 ...

  8. git版本控制系统更新

    版本控制系统: 一.概念: 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 二.版本控制系统分类 1.本地版本控制 ...

  9. git版本控制系统常见操作总结

    简介 Git是强大的版本控制系统,主要功能是针对代码.配置文件等文本进行版本控制.备份等,同时个人认为还是分发代码的一个不错的方式. 常见用法 #创建远程git仓库 [root@test88 ~]# ...

随机推荐

  1. P1310 表达式的值

    P1310 表达式的值 题解 1.假设有两个布尔变量 x , y  x0表示使得x=0的方案数 x1表示使得x=1的方案数 y0表示使得y=0的方案数 y1表示使得y=1的方案数 | 按位或 & ...

  2. Windows 开始 运行中所打开的默认程序以及优先级

    Windows 开始 运行中所打开的默认程序以及优先级 Default app/softwares and priority for Windows/start/run 商务合作,科技咨询,版权转让: ...

  3. Hive跨集群迁移

    Hive跨集群迁移数据工作是会出现的事情, 其中涉及到数据迁移, metastore迁移, hive版本升级等. 1. 迁移hdfs数据至新集群hadoop distcp -skipcrccheck ...

  4. openresty开发系列22--lua的元表

    openresty开发系列22--lua的元表 举个例子,在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作. 那如何计算两个table的相加 ...

  5. 软件定义网络基础---OF-Config协议

    交换机与控制器继续通信前,是需要对其功能.特性以及资源进行配置才能进行工作,这些配置是如何实现的?是由专门的配置协议指导完成的 一:OF-Config协议 是OpenFlow交换机管理配置协议,是Op ...

  6. 转 How to Find Out Who Is Locking a Table in MySQL

    MySQL is adding more tools to monitor its internals with every new release, but one thing it still l ...

  7. 给APK签名,修改签名

    简介: 本来是不需要签名的,但是我有个android的专用设备,限制安装,但是售后给我通过了一个证书的验证. 那么我想装什么软件,就需要这个证书验证. 现在记录一下签名的主要过程,还有修改签名的方法. ...

  8. 【GStreamer开发】GStreamer基础教程16——平台相关的element

    目标 虽然GStreamer是跨平台的framework,但不是所有的element都是在所有平台下都有的.比如,音频和视频的sink都非常依赖于当前的window系统,根据当前的平台需要选择不同的e ...

  9. 【GStreamer开发】GStreamer基础教程08——pipeline的快捷访问

    目标 GStreamer建立的pipeline不需要完全关闭.有多种方法可以让数据在任何时候送到pipeline中或者从pipeline中取出.本教程会展示: 如何把外部数据送到pipeline中 如 ...

  10. Mac下安装VirtualBox并在VirtualBox中安装CentOS7

    VirtualBox (百科)VirtualBox 是一款开源虚拟机软件.VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司Sun Microsystem ...