1
0
wiki/wiki/getting-started/Git/进阶/常用技巧.md

79 lines
2.9 KiB
Markdown
Raw Normal View History

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 使用的是 0x0ALF早期的 Mac OS 使用的是 0x0DCR后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0ACRLF 作为换行符。
```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 常用命令,可以根据实际需要创建缩写命令。