git操作合集
安装
下载
本地配置
git config --global user.name "tianyun"
git config --global user.email "tianyunperfect@163.com"
创建用户凭证ssh
#windows下:
ssh-keygen.exe -t rsa -C "tianyunperfect@163.com"
#mac下
ssh-keygen -trsa -C "tianyunperfect@163.com"
忽略文件
- 忽略规则
# 注释
# 具体文件
dlldata.c
# 通配符
*.suo
# 复杂情况
[Dd]ebug/
x64/
[Tt]est[Rr]esult*/
- 全局忽略
先切换到用户目录
# window
touch .gitignore_global
# mac
cd ~
touch .gitignore_global
- 本地忽略
在git目录下,创建.ignore文件即可
- 忽略规则使生效
git config --global core.excludesfile ~/.gitignore_global
git rm -r --cached . //清空缓存,后面需要添加所有并提交
基础操作
新建仓库
# 初始化
git init
# 关联远程仓库
git remote add origin git@server-name:path/repo-name.git
# 强制推送
git push -u origin master -f
克隆仓库
git clone git@github.com:tianyunlaila/tianyunlaila.github.git
获取更新
- 直接覆盖(常用)
git pull origin master
- 强制覆盖(删除一切不一样的)
git fetch --all
git reset --hard origin/master
git pull
- 手动查看不一样,再覆盖
git fetch origin master:tmp #先获取保存到tmp
git diff tmp #查看区别
git merge tmp #再融合
推送更新
git add . //添加修改
git commit -m "message" //提交
git push origin master //推送修改的内容
git status //查看状态
git diff //修改内容
查看历史
git log //可以查看提交历史,以便确定要回退到哪个版本。
git reflog //查看命令历史,以便确定要回到未来的哪个版本。
# 美化历史:
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
以后git lg就可以显示branch变化了
版本回退
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop恢复到当前状态。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
分支
创建新分支:git branch branchName
切换到分支:git checkout branchName
创建并切换到分支:git checkout -b branchName
合并某分支到当前分支:git merge branchName
删除分支:git branch -d branchName
别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
# 使用
git co
git ci
linux服务器
# 安装git
yum -y install git
# 添加git用户
adduser git
# 收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
mkdir /home/git/.ssh/
touch /home/git/.ssh/authorized_keys
cat >> /home/git/.ssh/authorized_keys << EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7p3r2VGOEE8JI4jUD4vuWj7QxXsZGne5AUcPXaHcCfX0ZarATxR2EeqEwTJvUAz0t/m/wq1DzugasUFWrUvUmEEBVh8RXXXXX@163.com
EOF
# 仓库暂定放在/home/git目录下
# 创建git仓库
git init --bare sample.git
# 修改权限
chown -R git:git sample.git
# 禁用shell登录:
vim /etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash 改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
# 客户机clone即可
git clone git@192.168.63.128:/home/git/sample.git
疑难问题
清除历史大文件
工作中不可避免引用一些大文件,当我们不需要时仍会占用大量内存,所以,必须清除!
# 找出排名前五的大文件
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5
# 找出对应的文件名
git rev-list --objects --all | grep 8f10eff91bb6aa2de1f5d096ee2e1687b0eab007
# 删除记录
git filter-branch --index-filter 'git rm --cached --ignore-unmatch 文件名(可以*)'
rm -Rf .git/refs/original \$ rm -Rf .git/logs/ \$ git gc
# 彻底删除!!!
git prune
# 查看空间
git count-objects -v
或者du -ah
git操作合集的更多相关文章
- SQL用法操作合集
SQL用法操作合集 一.表的创建 1.创建表 格式: 1 CREATE TABLE 表名 2 (列名 数据类型(宽度)[DEFAULT 表达式][COLUMN CONSTRAINT], 3 ... ...
- git常用操作合集
基本操作git status 查看文件处于什么状态 git status -s 带上-s参数,可以以更紧凑的格式输出文件状态信息 git add 开始追踪该文件或者暂存已修改的文件. .gitigno ...
- git命令合集及github的克隆推送
安装git 初始化仓库 提交相关 撤销相关 远程推送 分支相关 其他 遇到的错误 github的克隆上传 此文章只是对命令的一个统计,起备忘和复习git只是的作用,不建议从没接触过git的同学通过它来 ...
- git命令合集
##快捷键 ##一. 快捷键 1. 清屏快捷键 control+L 2. vim快捷操作 * control+b 往上翻页 * Control+f 往下翻页 * shift+g 回到末尾 3. oh ...
- javascript 最全面的数组操作合集
一.数组添加.删除.替换.截取操作 1.arr.unshift(1) 在数组头部添加一个元素 1 (直接改变原数组,返回值为添加元素后数组的length) 2.arr.shift() 在数组的头部删除 ...
- Java文件复制删除操作合集
import java.io.*; public class FileOperate { public FileOperate() { } /** * 新建目录 * @param folderPath ...
- git使用合集
1.git 克隆时重命名本地文件夹或目录 如:git clone https://github.com/torvalds/linux.git linux_kernel 2.git查看tag git t ...
- 插头DP智障操作合集
今天一共四道插头DP[其实都差不多],智障错误出了不下五个:D 来,让我好好数落我自己一下 直接写代码注释里吧 Eat the Trees #include<iostream> #incl ...
- Git 经常使用命令合集
====== Git 经常使用命令合集 ====== === 1.Git 文档 === Git 中文文档观看地址:http://git.oschina.net/progit/ === ...
随机推荐
- Mac下安装tomcat8(Mac 10.12)
1.到官网下载tomcat8 http://tomcat.apache.org/download-80.cgi 说明:tomcat最好不要下载最新的,选择一个适中的最好. 2.安装 ▲解压并重命名文件 ...
- ECharts-入门学习
最近因项目需要要做图表,后台数据要以柱状图的形式展示,通过上网查找,感觉ECharts这个js控件挺不错的,下面就把入门知识搞一下. 一.下载ECharts控件. 地址:http://echarts. ...
- C#集合通论
前言 写这篇文章的最初动力是来自于一次笔试经历.有一道笔试题大概是这样的:程序使用一个txt文件来存储操作记录.存储记录是多行字符串,每一行代表一次操作记录,格式如下:用户名+操作事项名称+操作时间. ...
- 解决UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position
今天在使用python的pip安装的时候出现了这个错误 UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position 7: o ...
- KNN理解
基本思想 K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中.如下面的图: 通俗一点来说,就是找最 ...
- WPF的ItemsControl设置数据源以及Binding使用
Student类: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...
- http协议--文章一
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method 指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本 ...
- 吴恩达《深度学习》第五门课(1)循环序列模型(RNN)
1.1为什么选择序列模型 (1)序列模型广泛应用于语音识别,音乐生成,情感分析,DNA序列分析,机器翻译,视频行为识别,命名实体识别等众多领域. (2)上面那些问题可以看成使用(x,y)作为训练集的监 ...
- js 继承介绍
js中继承的方式并不是明确的,这里介绍常用的几种 一.对象冒充(构造函数绑定) 原理:使用对象冒充继承基类,实质上是使用call或apply方法改变this 指针的指向 function Monkey ...
- yii 页面加载完成后弹出模态框
<?php $js = <<<JS $('#page-modal').modal('show');//页面加载完显示模态框 $('.modal-dialog').css('wi ...