git基础命令

一、git config

[alias]
        pl = pull
        ps = push
        lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
        st = status -uno
        cm = commit -s
        br = branch
        upremo = remote update origin --prune
[core]
        autocrlf = true

二、git常用命令

## 通过提交关键字搜索
git log --grep keywords
## 通过作者搜索
git log --author yourname
## 查看简化日志
git log --graph --pretty=oneline
## 查看某个文件的修改历史
git log -- filename

## 查看历史中的文件内容(文件名前要带路径)
git show SHA1:filename
## 只看某次提交中的某个文件变化
git show SHA1 filename

# 仅将HEAD引用恢复到历史版本commit id
git reset --soft SHA1
# 将HEAD引用、暂存区都恢复到历史版本commit id
git reset --mixed SHA1
# 将HEAD引用、暂存区、工作区都恢复到历史版本commit id
git reset --hard SHA1
# 下面两个语句等价
git reset
git reset --mixed HEAD

## 切换分支
git checkout master
## 将代码回退到历史版本
git checkout commitId
## 使用这个版本的文件更新工作区中的文件
git checkout <commit> -- filename
## 从索引中恢复所有文件
git checkout .
## 如果想要检出索引中的所有C源文件
$ git checkout -- '*.c'
## 拉取新远程分支到本地
$ git checkout -b 本地分支名称 origin/远程分支名称

## 比较工作目录与未暂存的存差异
git diff <filename>
## 比较工作目录与已暂存的存差异
git diff --staged
## 比较两个历史版本之间的差异
git diff 
## 比较两个历史版本之间某一文件的差异
git diff SHA1 SHA2 -- filename

## 列出所有 Git 当时能找到的配置
git config --list
## 来检查 Git 的某一项配置
git config <key>
## 在Windows上,把它设置成true,这样提交时自动地把CRLF转换成LF,而在检出代码时把LF转换成CRLF。
git config --global core.autocrlf true

## 储藏修改
git stash
## 查看储藏
git stash list
## 应用储藏
git stash apply stash@{0}
## 移除的储藏
git stash drop stash@{0}
## 应用储藏然后立即从栈上扔掉它
git stash drop

## 移除工作目录中所有未追踪的文件以及空的子目录
## d  -----删除未被添加到git的路径中的文件
## f  -----强制运行
## x  -----包含忽略文件
## n  -----演示将要移除什么
git clean -dn path
git clean -df path

# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看所有分支
git branch -a
# 创建分支
git branch new-branch
# 切换分支
git checkout new-branch
# 创建并切换分支
git checkout -b new-branch
# 合并分支
git checkout master
git merge new-branch
# 删除分支
git branch -d new-branch

# 合并冲突
git merge new-branch
CONFLICT (content): Merge conflict in xxx
# 查看冲突文件
git status
both modified: xxx
# 查找冲突点
vim xxx
<<<<<<< HEAD:xxx
version A
=======
version B
>>>>>>> new-branch:xxx
# 标记冲突已解决
git add xxx

# 查看远程分支
git remote show
# 添加远程仓库
git remote add new-one git:://xxx_url
# 更新远程分支列表
git remote update origin --prune

# 拉取新的远程分支,并创建跟踪分支(一个本地分支,绑定了与其交互的远程分支)
git checkout -b serverfix origin/serverfix
# 推送到远程分支
git push (remote) (branch)
# 将本地的 serverfix 分支推送到远程仓库上的 awesomebranch 分支
git push origin serverfix:awesomebranch
# 推送本地分支,并创建新远程分支
git push -u origin NewBranch1 
# 拉取 pull = fetch + merge
git pull
# 删除远程仓库中的分支
git push origin --delete serverfix

# 变基:确保在向远程分支推送时能保持提交历史的整洁
# 将 new-branch 的修改,在 master 上重放
git rebase master new-branch
# 变基之后还需要进行一次快进合并
git checkout master
git merge new-branch
# 截取特性分支上的另一个特性分支,然后变基到其他分支
# 取出 client 分支,找出处于 client 分支和 server 分支的共同祖先之后的修改,然后把它们在 master 分支上重放一遍
git rebase --onto master server client
# 变基之后还需要进行一次快进合并
git checkout master
git merge client

# 删除暂存区和工作区中的 README 文件
git rm README 
# 文件从暂存区域移除,但工作区保留:
git rm --cached README 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值