Git
关于Git的一些总结, 持续更新中……
git 配置
配置Git
# 配置全局用户
$ git config --global user.name "用户名"
$ git config --global user.email "git账号"
# 删除全局配置
$ git config --global --unset alias.xxx
$ git config --global --unset user.xxx
查看Git
# 查看系统配置
$ git config --list
# 查看用户配置
$ cat ~/.gitconfig
# 查看当前项目的 git 配置
$ cat .git/config
# 查看本地 git 命令历史
$ git reflog
# git 中 D 向下翻一行 F 向下翻页 B 向上翻页 Q 退出
git 常用命令
Git 常用命令
# 查看工作区和暂存区的状态
$ git status
# 将工作区的文件提交到暂存区
$ git add fileName OR git add *
# 提交到本地仓库
$ git commit -m "本次提交说明"
# 将本地分支和远程分支进行关联
$ git push -u origin branchName
# 将本地仓库的文件推送到远程分支
$ git push
# 拉取远程分支的代码
$ git pull origin branchName
# 合并分支
$ git merge branchName
# 查看本地拥有哪些分支
$ git branch
# 查看所有分支(包括远程分支和本地分支)
$ git branch -a
# 切换分支
$ git checkout branchName
# 临时将工作区文件的修改保存至堆栈中
$ git stash
# 将之前保存至堆栈中的文件取出来
$ git stash pop
# 分支创建同步
$ git push --set-upstream origin branch_name
# 远程创建 与 本地对着
$ git checkout --track origin/branch_name
$ git checkout --track origin/20200710-pre
# 创建本地分支 并切换
$ git checkout -b branch__name
# 提交本地分支到远程分支上
$ git push origin branch__name
--soft 参数用于回退到某个版本
git reset --soft HEAD
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回 到上一次版本,并删除之前的所有信息提交
git reset --hard HEAD
$ git reset –hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
git 快捷指令设置
git config --global -e 或者 cd ~ 然后 vi ./.gitconfig 进行编辑,将一下缩写放到【user】下
粘贴之后保存,开启新的命令行,就可以使用了,例如:
`gst` 命令行输入之后,就会出现当前项目下的git status。
- 以下为粘贴内容:
g = 'git'
ga = 'git add'
gaa='git add --all'
gapa='git add --patch'
gb='git branch'
gba='git branch -a'
gbl='git blame -b -w'
gbnm='git branch --no-merged'
gbr='git branch --remote'
gbs='git bisect'
gbsb='git bisect bad'
gbsg='git bisect good'
gbsr='git bisect reset'
gbss='git bisect start'
gc='git commit -v'
gca='git commit -v -a'
gcam='git commit -a -m'
gcb='git checkout -b'
gcf='git config --list'
gcl='git clone --recursive'
gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'
gcm='git checkout master'
gcmsg='git commit -m'
gco='git checkout'
gcp='git cherry-pick'
gcs='git commit -S'
gd='git diff'
gdca='git diff --cached'
gdct='git describe --tags `git rev-list --tags --max-count=1`'
gdt='git diff-tree --no-commit-id --name-only -r'
gdw='git diff --word-diff'
gf='git fetch'
gfa='git fetch --all --prune'
gl='git pull'
glg='git log --stat'
glgp='git log --stat -p'
glgg='git log --graph'
glgga='git log --graph --decorate --all'
glgm='git log --graph --max-count=10'
glo='git log --oneline --decorate'
glol="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
glola="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all"
glog='git log --oneline --decorate --graph'
gloga='git log --oneline --decorate --graph --all'
gm='git merge'
gmom='git merge origin/master'
gmt='git mergetool --no-prompt'
gmtvim='git mergetool --no-prompt --tool=vimdiff'
gmum='git merge upstream/master'
gp='git push'
gpd='git push --dry-run'
gpoat='git push origin --all && git push origin --tags'
gpu='git push upstream'
gpv='git push -v'
gr='git remote'
gra='git remote add'
grb='git rebase'
grba='git rebase --abort'
grbc='git rebase --continue'
grbi='git rebase -i'
grbm='git rebase master'
grbs='git rebase --skip'
grh='git reset HEAD'
grhh='git reset HEAD --hard'
grmv='git remote rename'
grrm='git remote remove'
grset='git remote set-url'
grt='cd $(git rev-parse --show-toplevel || echo ".")'
gru='git reset --'
grup='git remote update'
grv='git remote -v'
gsb='git status -sb'
gsd='git svn dcommit'
gsi='git submodule init'
gsps='git show --pretty=short --show-signature'
gsr='git svn rebase'
gss='git status -s'
gst='git status'
gsta='git stash save'
gstaa='git stash apply'
gstd='git stash drop'
gstl='git stash list'
gstp='git stash pop'
gsts='git stash show --text'
gsu='git submodule update'
gup='git pull --rebase'