2022-09-13 16:13:32 +08:00
|
|
|
|
---
|
|
|
|
|
title: 常用技巧
|
|
|
|
|
description: Git 常用技巧
|
|
|
|
|
keywords:
|
|
|
|
|
- Git
|
|
|
|
|
- 技巧
|
|
|
|
|
tags:
|
|
|
|
|
- Git
|
|
|
|
|
sidebar_position: 3
|
|
|
|
|
author: 7Wate
|
|
|
|
|
date: 2022-09-13
|
|
|
|
|
---
|
2022-10-06 23:45:05 +08:00
|
|
|
|
|
2022-10-09 14:55:57 +08:00
|
|
|
|
## Git Config 配置
|
|
|
|
|
|
|
|
|
|
Git 配置文件分为三级,系统级(--system)、用户级(--global)和目录级(--local),三者的使用优先级以离目录(repository)最近为原则,如果三者的配置不一样,则生效优先级 **目录级>用户级>系统级**。
|
|
|
|
|
|
|
|
|
|
1. **系统级**(/etc/gitconfig):使用 `git config --system user.name "7wate"` ,`git config --sytem user.email "admin@7wate.com"` 来进行配置,该配置**对系统上所有用户及他们所拥有的仓库都生效**的配置值。
|
|
|
|
|
2. **用户级**(~/.gitconfig):使用 `git config --global user.name "7wate"` ,`git config --global user.email "admin@7wate.com"` 来进行配置,该配置**对当前用户上所有的仓库有效**。
|
|
|
|
|
3. **目录级**(.git/config):使用 `git config --local user.name "7wate"` , `git config --local user.email "admin@7wate.com"` 来进行配置,**只对当前仓库生效。**
|
|
|
|
|
|
2022-10-16 16:23:25 +08:00
|
|
|
|
## Git 设置默认分支
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
git config --global init.defaultBranch <name>
|
|
|
|
|
```
|
|
|
|
|
|
2022-10-06 23:45:05 +08:00
|
|
|
|
## Git 多平台换行符问题(LF or CRLF)
|
|
|
|
|
|
|
|
|
|
**文本文件所使用的换行符,在不同的系统平台上是不一样的。**UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF) 作为换行符。
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
# 提交时转换为LF,检出时转换为CRLF
|
|
|
|
|
git config --global core.autocrlf true
|
|
|
|
|
# 提交时转换为LF,检出时不转换
|
|
|
|
|
git config --global core.autocrlf input
|
|
|
|
|
# 提交检出均不转换
|
|
|
|
|
git config --global core.autocrlf false
|
|
|
|
|
# 拒绝提交包含混合换行符的文件
|
|
|
|
|
git config --global core.safecrlf true
|
|
|
|
|
# 允许提交包含混合换行符的文件
|
|
|
|
|
git config --global core.safecrlf false
|
|
|
|
|
# 提交包含混合换行符的文件时给出警告
|
|
|
|
|
git config --global core.safecrlf warn
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
如果涉及到在多个系统平台上工作,推荐将 git 做如下配置:
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
git config --global core.autocrlf input
|
|
|
|
|
git config --global core.safecrlf true
|
|
|
|
|
```
|
2022-10-09 14:55:57 +08:00
|
|
|
|
|
|
|
|
|
## Alias 重命名命令
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
git config --global alias.st status //status 缩写成 st
|
|
|
|
|
git config --global alias.co checkout //checkout 缩写成 co
|
|
|
|
|
git config --global alias.br branch //branch 缩写成 br
|
|
|
|
|
git config --global alias.ci commit //commit 缩写成 ci
|
|
|
|
|
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"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
alias g='git'
|
|
|
|
|
alias ga='git add'
|
|
|
|
|
alias gco='git checkout'
|
|
|
|
|
alias gcb='git checkout -b'
|
|
|
|
|
alias gcm='git checkout master'
|
|
|
|
|
alias gcd='git checkout develop'
|
|
|
|
|
alias gd='git diff'
|
|
|
|
|
alias gf='git fetch'
|
|
|
|
|
alias gfo='git fetch origin'
|
|
|
|
|
alias gl='git pull'
|
|
|
|
|
alias gp='git push'
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Git 常用命令,可以根据实际需要创建缩写命令。
|