git config --global user.name "用户名"
//配置全局用户名
git config --global user.email "邮箱"
//配置全局邮箱
git init
//初始化仓库
git clone https://github.com/test.git
//克隆项目到本地
git add .
//把工作区的文件全部提交到暂存区
git add ./text
//把工作区的text文件提交到暂存区
git add -f <file>
//强制提交已忽略的文件
git commit -m "描述"
//把暂存区的所有文件提交到仓库区
git commit -a -m '描述'
//跳过暂存区存入(之前add提交过的,直接提交)
git commit --amend
//将暂存区的文件提交,修订提交
git remote add origin https://github.com/test.git
//把本地仓库和远程仓库链接起来
git push -u origin master
//把仓库的主分支master提交到远程仓库
git push -u origin <其他分支>
//把其他分支提交到远程仓库
git status
//查看当前仓库的状态
git diff
//查看文件修改的具体内容
git log
//显示从近到远的提交历史
git log --oneline
//以简洁的方式显示提交历史
git log --oneline --decorate --graph --all
//查看所有的分支命令
git reflog
//显示所有的日志信息
git rm A.txt
//删除版本库里的A.txt
git mv 原文件名 新文件名
//修改文件名
git config --global alias.logbranch "log --oneline --decorate --graph -all"
//配置别名配置切换分支,使用:git logbranch
git branch
//查看所有分支列表
git branch bug
//创建bug(bug为分支的名字,可随意)分支
git branch -d bug
//删除分支,you可能会删除失败。原因:可能分支没有被合并
git branch -D bug
//强制删除分支,包括没有执行合并的分支
git checkout bug
//切换分支,切换到bug分支
git merge bug
//合并分支,合并分支前切换到主分支,然后再执行合并操作
git log --graph
//查看分支合并图
git merge --no-ff bug
//合并分支的时候禁用Fast forward模式,会丢失分支历史信息
git checkout --<file>
//撤销命令,用版本库的文件替换掉工作区的文件,ctrl+z
git reset --hard 版本号 回溯版本
//版本号在提交commit的时候与master跟随在一起
git stash
//当有其他任务时,把当前工作存储起来
git stash list
//查看存储起来的列表
git stash apply
//恢复却不删除stash的内容
git stash drop
//删除stash内容
git stash push -u -m xxx
//将当前未提交的内容存储
git stash pop
//恢复的同时把stash内容也删了
git stash clear
//在查看存储后 执行此命令 清空stash栈
git remote
//查看远程仓库的信息,会显示origin,远程仓库默认名称为origin
git remote -v
//显示更详细的信息
git pull
//把最新的提交从远程仓库抓取下来,在本地合并
git pull base --rebase
//从主仓库变基拉取代码
git rebase
//把分叉的提交历史整理一下
git tag
//查看所有的标签,可以知道历史版本
git tag v1.0
//打标签,默认为HEAD
git tag <tagName> <版本号>
//把版本号打上标签,版本号就是commit的时候,旁边的一串字母
git show <tagName>
//查看标签信息
git tag -a <tagName> -m "<说明>"
//创建带说明的标签,-a指定标签名,-m指定说明
git tag -d <tagName>
//删除标签
git push origin <tagName>
//推送某个标签到远程仓库
git push origin --force
向个人仓库推送
git push origin --tags
//一次性推送全部尚未推送到远程仓库的标签
git push origin :refs/tags/<tagName>
//删除远程标签
git check-ignore -v <file>
//检查git为什么忽略该文件