Git常用命令

220 阅读1分钟

基础命令

# 初始化git仓库
git init

# 帮助命令
git help

签名命令

级别优先级【就近原则】:项目级别优于系统用户级别,二者都有时采用项目级别的签名。

# 项目级别/仓库级别:仅在当前本地库范围内有效
$ git config user.name xxx
$ git config user.email xxx@qq.com

# 系统用户级别:登录当前操作系统的用户范围
$ git config --global user.name xxx
$ git config --global user.email xxx@qq.com

# 查看签名设置(系统用户级别的在根目录下查看)
$ cat .git/config

提交命令

# 查看git状态
$ git status

# 文件添加到暂存区,让git管理文件
$ git add xxx.txt

# 取回暂存区文件
$ git rm --cached xxx.txt

# 提交
$ git commit -m "commit message" xxx.txt

版本穿梭

# 查看日志
$ git log

# 简洁查看
$ git log --pretty=oneline
$ git log --oneline

# HEAD@{移动到当前版本需要多少步}
$ git reflog

# 基于索引值前进后退版本
$ git reset --hard 索引

比较文件

# 不带文件名是比较多个文件
# 将工作区中的文件和暂存区进行比较
$ git diff xxx.txt

# 将工作区中的文件与本地库历史记录比较
$ git diff HEAD xxx.txt

分支操作

# 查看所有分支
$ git branch -v

# 创建分支
git branch xxx

# 切换分支
$ git checkout xxx

# 合并分支
# 1.切换到接受修改的分支(被合并,增加新内容)上
$ git checkout 接受修改的分支名
# 2.执行merge命令
$ git merge 指定合并的分支名

# 解决冲突
# 1.编辑冲突文件,删除特殊符号
$ git add xxx.txt
# 这一步结尾不能带文件名
$ git commit -m "日志信息"

远程库操作

# 本地库创建远程库别名
$ git remote add 地址别名 远程库地址

# 查看远程库信息
$ git remote -v

# 推送
$ git push 远程库地址别名 远程库分支名

# clone 实际做了以下三步操作
# 1.完整的把远程库下载到本地
# 2.创建origin远程地址别名
# 3.初始化本地库
$ git clone 远程库地址

# 远程库拉取
# pull = fetch + merge
$ git fetch 远程库地址别名 远程库分支名
$ git merge 远程库地址别名/远程库分支名
$ git pull 远程库地址别名 远程库分支名

core.autocrlf

# 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true

# 提交时转换为LF,检出时不转换
git config --global core.autocrlf input

# 提交检出均不转换
git config --global core.autocrlf false