文档章节

git相关记录

冷血
 冷血
发布于 2013/01/20 22:38
字数 642
阅读 88
收藏 2
点赞 0
评论 0
git

git config http.postBuffer 524288000

git init --bare 创建一个纯仓库
git clone url

一,多人开发流程
1,创建本地开发分支
git checkout -b develop
git checkout -b me

2,提交更新到服务器
在me分支提交修改内容
git commit 
git checkout develop
git pull --rebase origin develop
git merge me --no-ff   / git checkout me | git rebase develop | git checkout develop | git merge me
git push origin develop
git checkout me
git rebase develop

3,更新服务器修改内容
在me分支提交修改内容
git checkout develop
git pull --rebase origin develop
git checkout me
git rebase develop

4,其它命令
git reset --hard HEAD^ 撤销最后一次提交,该次提交所有内容会丢失,慎用.HEAD^^最后两次
git reset HEAD^ 撤销最后一次提交,但该次提交内容存在work tree中.清除了commit和index
git revert 还原到某个版本,之前提交会保留.

5,永久删除文件

## 注意Windows下用双引号
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch path/to/your/file' HEAD
git push origin master --force
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
6,解决Windows Git Bash中文乱码问题
/etc/gitconfig
[gui]
    encoding = utf-8 #代码库统一用urf-8,在git gui中可以正常显示中文
[i18n]
    commitencoding = GB2312 #log编码,window下默认gb2312,声明后发到服务器才不会乱码
    logoutputencoding = utf-8 #解决日志显示为的问题
[svn]
    pathnameencoding = GB2312 #支持中文路径
/etc/git-completion.bash
alias ls='ls --show-control-chars --color=auto'  #ls能够正常显示中文
/etc/inputrc
set output-meta on   #bash中可以正常输入中文
set convert-meta off
/etc/profile
export LESSCHARSET=utf-8   #$ git log 命令不像其它 vcs 一样,n 条 log 从头滚到底,它会恰当地停在第一页,按 space 键再往后翻页。这是通过将 log 送给 less 处理实现的。以上即是设置 less 的字符编码,使得 $ git log 可以正常显示中文。

二,配置文件
.gitconfig
[core]
	quotepath = false
[i18n]
	logoutputencoding = utf-8
	commitencoding = gbk
[alias]
        co = checkout
        ci = commit
        st = status
        br = branch
        re = remote
        di = diff
        rb = rebase
        l = log --oneline --decorate -12 --color
        ll = log --oneline --decorate --color
        lc = log --graph --color
        dci = dcommit
[gui]
	encoding = utf-8
[svn]
	pathnamecoding = GB2312

免密码访问git库
windows 用户目录下创建_netrc
非windows 用户目录下 创建 .netrc,设置权限 600
machine www.github.com
login username
password password

三,常用命令
清理git库中历史中提交的大文件.

删除历史提交中指定文件
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch */target/*' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.iml' --prune-empty --tag-name-filter cat -- --all

清理删除后空间
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now





© 著作权归作者所有

共有 人打赏支持
冷血
粉丝 10
博文 18
码字总数 1518
作品 0
高级程序员
自动代码上线-环境部署

1,流程 本地测试-公司测试环境-生产环境 2,步骤 公司测试环境: 1)创建git库 ,创建目录 并出初始化 git init,开发将代码上传git 库 2)部署环境(nginx或apache),创建配置文件*.conf ...

邱月涛 ⋅ 2017/07/29 ⋅ 0

GIT科普系列3:底层存储机制Internal Objects

题记: 近期连续写了几篇关于git的博文,大多从日常使用过程中遇到的难点入手(例如冲突、回滚、放弃本地修改),目的是希望能够让大家从博文中找到可以直接用于实战的经验,因此并没有像其他...

zssureqh ⋅ 2016/08/06 ⋅ 0

Git分支管理

分支相关命令 git branch:创建分支,git branch dev git checkout <name>:切换分支 ,git checkout dev git checkout -b dev:创建+切换分支 git merge <name>:合并分支当当前分支,git m......

Kevin-air ⋅ 2016/08/02 ⋅ 0

六百字读懂Git

译注:来自 Hacker School 的 Mary Rose Cook 最近实现了一个纯 JavaScript 写就的 Git:Gitlet,包括了 Git 核心命令的概念实现。Mary 说,这个项目一是为了了解 Git 内部原理,二是希望写一...

dandan.fs ⋅ 2015/02/03 ⋅ 0

分布式源代码管理工具(Git) 2.8.0 官方多语中文版

Git是一个强大的分布式的源代码管理工具。Git是用c语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可...

相心的泪 ⋅ 2016/07/21 ⋅ 0

跟我一起学docker(九)--持续系统集成了解下git

什么是持续集成? 持续集成(Continuous integration,简称CI)。 根据敏捷大师Martin Fowler的定义,“持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每...

IT人故事会 ⋅ 05/01 ⋅ 0

svn 迁移到git

1.物理环境 Git–server Centos5.8 192.168.1.245Svn–server Centos5.8 192.168.1.108 2.建立SVN用户到git用户的映射文件 建立SVN用户到git用户的映射文件,文件格式如下: cat /tmp/useri...

linuxprobe16 ⋅ 2016/11/24 ⋅ 0

Git(一):Git与版本控制简介

Intro 版本控制系统是什么 版本控制系统(Version Control System,VCS)可以帮助我们记录和跟踪项目中各文件内容的修改变化。它可以帮我们保存项目的各个版本,以及修改原因,我们可以借用此工...

xinall ⋅ 2014/11/30 ⋅ 0

GIT分支创建和合并

之前代码管理一直用的是svn,但互联网的潮人们都在玩GIT,我也跟随潮流尝试慢慢转移到GIT上来,SVN和GIT操作上逻辑差异还是比较大的,边学习GIT边做个记录吧。 在开发一个功能时,可以通过创...

r-ricky ⋅ 2015/06/26 ⋅ 3

git log统计代码量命令

今天看了下,一年快到了,在这里码字17万,然后想统计一下码了多少行代码,如下 1,统计某人的代码提交量,包括增加,删除,共计: 结果(作者名称以*替换): 不到一万行啊,略惭愧... 2, 提交...

vinci321 ⋅ 03/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 2分钟前 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

OSC_cnhwTY ⋅ 9分钟前 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 11分钟前 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 19分钟前 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 20分钟前 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 49分钟前 ⋅ 0

Linux(CentOS)下配置php运行环境及nginx解析php

【part1:搭建php环境】 1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录 http://php.net/releases/ 2.解压安装包 tar zxf php-x.x.x 3.cd到解压目录执行如下操作 cd ../php-...

硅谷课堂 ⋅ 56分钟前 ⋅ 0

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部