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. 【转】IDEA新建项目时,没有Spring Initializr选项(亲测有效)

    最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot.看着博客来进行操作上手spring boot,很多都是说创建一个新项目(Create New Project) 选择 ...

  2. 021 CSS高级特性

    一:元素的显示与影藏 1.比较常见的单词 dispaly,visibility,overflow 2.display案例 如果影藏了,这个元素就看不见了,然后也不保留位置 <!DOCTYPE h ...

  3. mkimage工具的用法

    1. mkimage都支持哪些压缩格式 none, gzip, bzip2等 2. 参考资料 这里

  4. 从0开始学爬虫8使用requests/pymysql和beautifulsoup4爬取维基百科词条链接并存入数据库

    从0开始学爬虫8使用requests和beautifulsoup4爬取维基百科词条链接并存入数据库 Python使用requests和beautifulsoup4爬取维基百科词条链接并存入数据库 参考 ...

  5. Cocoa Framework中GB2312与UTF16编码之间的相互转换

    代码如下: NSString *orgStr = @"你好,世界!"; NSStringEncoding enc = CFStringConvertEncodingToNSStri ...

  6. 004-行为型-04-迭代器模式(Iterator)

    一.概述 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示. 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部 ...

  7. Dart中的数据类型转换:

    int -> string age.toString() string -> int int.parse('100'); String -> double 1 var onePoin ...

  8. Flink 异步IO访问外部数据(mysql篇)

    接上篇:[翻译]Flink 异步I / O访问外部数据 最近看了大佬的博客,突然想起Async I/O方式是Blink 推给社区的一大重要功能,可以使用异步的方式获取外部数据,想着自己实现以下,项目上 ...

  9. python3传文件到linux服务器然后解压

    #!/usr/bin/env python # -*- coding:utf-8 -*- import os import paramiko import time from scp import S ...

  10. 【GStreamer开发】GStreamer基础教程11——调试工具

    目标 有时我们的应用并没有按照我们的预期来工作,并且在总线上获得的错误信息也没有足够的内容.这时我们该怎么办呢?幸运的时,GStreamer自身提供了大量的调试信息,通常这些信息会给出一些线索,指向出 ...