git版本控制系统重新认识
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版本控制系统重新认识的更多相关文章
- Google Code项目代码托管网站上Git版本控制系统使用简明教程
作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和 Subversion.Subversion即SVN相信大家都已经熟知了,这 ...
- Git版本控制系统VCS
Git版本控制系统VCS 一.版本控制系统基本情况说明 版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统 1.作用 记录文件的所有历史变化 随时可回复到任何一个历史状 ...
- git版本控制系统小白教程(上)
前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享. Git介绍 Git是目前世界上最先进的分布式版本控制系统.并且它是一个开源的分布式版本控制系 ...
- git版本控制系统小白教程(下)
前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享,查看上部请点传送门. 删除文件 git删除文件一般有三种情况,第一种是在工作区修改了文件,但是 ...
- 初识git版本控制系统
当下git分布式版本控制系统越来越火,掌握git也是必须的一个技能.因此,对git做了如下学习. Git初级指南 1. 先安装git.(ps:在select cmponents处要勾选Git Bash ...
- 如何选择版本控制系统 ---为什么选择Git版本控制系统
版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开 ...
- Git版本控制系统之基本使用
最早是通过接触著名的开源社区Github了解到Git的,但一直没有系统学习过.这次下定决心从头到尾系统的学一学,也将学习过程记录于此,供大家批驳.本篇文章先从以下几个方面简单了解一下Git: Git的 ...
- git版本控制系统更新
版本控制系统: 一.概念: 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 二.版本控制系统分类 1.本地版本控制 ...
- git版本控制系统常见操作总结
简介 Git是强大的版本控制系统,主要功能是针对代码.配置文件等文本进行版本控制.备份等,同时个人认为还是分发代码的一个不错的方式. 常见用法 #创建远程git仓库 [root@test88 ~]# ...
随机推荐
- Java TreeSet,Collections使用
一.创建TreeSet实例 public static void main(String[] args) { TreeSet set = new TreeSet(); set.add("C& ...
- linux下查看指定进程的所有连接信息(转)
定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...
- Android命名规范(重点讲解:包名)
Android程序开发中,使用规范的命名有益于程序的开发和后期阅读.本文主要对Android程序包名的定义做详细介绍,并附带一些简单的命名规则. 一.标识符命名方法1 .小驼峰命名法,除首单词外,其余 ...
- 卸载node和npm
sudo npm uninstall npm -g yum remove nodejs npm -y
- go cmd nohup 的坑
https://github.com/go-cmd/cmd/issues/20 golang 的 cmd 包在执行系统命令时,如果使用的到了 nohup 命令, 那么就需要注意, 需要在 nohup ...
- ISO/IEC 9899:2011 条款6.5.9——相等操作符
6.5.9 相等操作符 语法 1.equality-expression: relational-expression equality-expression == relational- ...
- spark sql插入表时的文件个数研究
spark sql执行insert overwrite table时,写到新表或者新分区的文件个数,有可能是200个,也有可能是任意个,为什么会有这种差别? 首先看一下spark sql执行inser ...
- 我是如何同时拿到阿里和腾讯offer的 【转载】
前言 三月真是一个忙碌的季节,刚刚开学就需要准备各种面试和笔试(鄙视).幸运的是,在长达一个月的面试内推季之后,终于同时拿到了阿里和腾讯的offer,还是挺开心的.突而想起久未更新的博客,就冒昧学一学 ...
- 003-结构型-05-桥接模式(Bridge)
一.概述 将抽象部分与它的具体实现部分分离.使它们都可以独立地变化.通过组合的方式建立两个类之间联系,而不是继承. Bridge 模式又叫做桥接模式,是构造型的设计模式之一.Bridge模式基于类的最 ...
- Spring cloud微服务安全实战-5-4请求转发及退出
步骤1234已经完成 下面处理 5678这几步.zuul在转发的时候 把请求头加上 获取订单信息 加一个按钮,登陆成功后,去拿订单的信息. 展示获取到的订单信息 ts代码 ts内定义order对象 定 ...