git初始化设置
设置用户名和密码
git config --global user.name "haojy_dev"
git config --global user.email "haojy11@163.com"
---
git config --local xxxxxxx
---
git config --system xxxxxxx
作用域优先级: git config --local> git config --global > git config --system
1. 仓库级别 local
2. 用户级别 global
3. 系统级别 system
git查看所有的配置信息 git config -l
查看仓库配置git config --local -l
查看用户配置 git config --global -l
查看系统配置 git config --system -l
增加配置项 git config [--local|--global|--system] --add section.key value(默认是添加在local配置中)
获取一个配置项 git config [--local|--global|--system] --get section.key(默认是获取local配置中内容)
删除一个配置项 git config [--local|--global|--system] --unset section.key
生成公钥和私钥 ssh-keygen -t rsa -C"youremail@example.com"
初始化仓库 git init
git基本操作
将文件添加到仓库 git add filename
一次添加多个文件 git add .
将文件提交到仓库 git commit -m "message"
将文件从仓库删除 git rm filemame
查看当前状态 git status
文件重命名 git mv readme readme.md
对最近一次提交的说明 进行更改 git commit --amend
查看文件内容 cat index.html
设置git提交忽略的文件 vi .gitignore
vi 修改文件编码格式:
:set encoding=utf-8 fileencodings=utf-8
:wq!
git回退操作
删除所有untracked的文件 git clean -df
将本地修改撤销掉 git checkout -- filename
清空暂存区所有文件 git reset .
删除暂存区的某个文件 git rm --cached filename
将暂存区修改撤销掉 git reset HEAD filename
将本地文件回退到指定版本 git reset --hard version_number
将本地文件回退到上一版本 git reset --hard HEAD^
工作区与暂存区恢复一致 git reset --hard HEAD
删除版本库中的内容 git rm -r -f --cached out+commit
git远程强制覆盖本地
$ git fetch --all
$ git reset --hard origin/master
$ git pull
DIFF操作
查看工作区和暂存区差别 git diff
查看暂存区和仓库差别 git diff --cached
查看工作区和仓库差别 git diff HEAD
查看本地分支和远程分支区别 git diff master origin/master
直接将两个分支上最新的提交做diff git diff topic master
查看当前目录和另外一个分支的差别 git diff test
比较两个历史版本之间的差异 git diff SHA1 SHA2
比较两个版本间有哪些文件变更 git diff edf19e c458bd7 --stat
git查看不同版本某一文件差异 git diff HEAD edf19e c458bd7 --stat ---index.html
git查看不同分支文件差异 git diff
git分支操作
创建分支 git branch
创建并切换到分支 git checkout -b
切换分支 git checkout
删除分支 git branch -d
git branch -D
删除远程分支 git push origin --delete
与当前分支合并 git merge
查看分支 git branch -a
git branch -av
查看所有本地分支和远程分支之间关联 git branch -vv
git远程库操作
从远程库克隆 git clone git@link/file.git
查看远程仓库信息 git remote -v
将远程仓库和本地仓库关联 git remote add origin git@link/file.git(origin并非固定值)
解除与远程仓库的关联 git remote rm origin
设置本地分支和远程分支的关联 git branch --set-upstream-to origin/dev dev
从远程仓库拉取并合并 git pull origin dev
服务端和本地同步 git pull origin master --allow-unrelated-histories
从远程仓库获取并合并 git fecth origin dev + git merge origin/branch
将本地仓库内容推送到关联的远程: git push origin master(master为当前分支)
git stash操作
存储 git stash
查看stash区域 git stash list
恢复stash中内容 git stash apply stash@{stash_number}
删除stash中内容 git stash drop stash@{stash_number}
git tag操作
查看tag git tag
查看tag详细信息 git show v1.0
创建tag git tag -a v1.0 -m 'this is test version 1.0'
删除本地tag git tag -d v0.8
删除远程tag git push origin master :refs/tags/v0.8
tag推送到远程 git push origin v1.0
git图形界面
查看 gitk
git Log
查看历史记录 git log -- pretty=oneline
查看git版本演进历史 git log --graph
短链接方式显示提交记录 git log --oneline
显示最近的4条提交记录 git log --n4
显示全部日志,包括不同分支的日志记录 git log --all
xxx为log日志短链接的名称,-p 表示查看文件内容,-t 表示查看文件类型 git cat-file -p
查看命令记录 git reflog
git协议
本地协议[哑协议] /path/to/repo.git
本地协议[智能协议] file:///path/to/repo.git
http/https协议[智能协议] https://github.com/HJY-dev/HJY-dev.github.io.git
ssh协议[智能协议] git@github.com:HJY-dev/HJY-dev.github.io.git