命令 | 说明 | 备注 |
---|
git config --global user.name "Your Name" | 设置用户名 | |
git config --global user.email | 设置用户邮箱 | |
git init | 把当前所在的目录变成Git可以管理的仓库 | |
git add file | 把file文件添加到暂存区 | |
git commit -m "about" | 将暂存区的文件提交到本地仓库 "about" 是对本次提交文件的内容说明 | |
git log | 查询当前目录下所有文件的提交记录 | $ git log -- file 可以单独查询file的提交记录 $ git log 添加 --pretty=oneline参数 简洁输出log信息 |
git reset | 版本回到之前的某个commit的状态 | 在Git中,用HEAD表示当前版本 比如 $ git reset HEAD file回滚到最近一次提交的版本并且撤销该flie文件暂存区的内容(上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100) 添加--hard 加commitId可以会退到某个操作之后的版本 |
git reflog | 查看命令历史/td> | |
git diff HEAD -- flie | 查看工作区和版本库里面最新版本的区别 | |
git checkout -- flie | 让flie这个文件回到最近一次git commit或git add时的状态 | |
git remote add origin https://******* | 与远程仓库建立连接并设置名称为origin | |
git push -u origin master | 推送本地文件到远程仓库并建立分支连接关系 | 把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令 |
git config --system --list | 查看系统config | |
git config --global --list | 查看当前用户(global)配置 | |
git config --local--list | 查看当前仓库配置信息 | |
git checkout -b dev | git checkout命令加上-b参数表示创建并切换 | git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: $ git branch dev $ git checkout dev Switched to branch 'dev' 然后,用git branch命令查看当前分支: $ git branch dev master git branch命令会列出所有分支,当前分支前面会标一个*号。 |
git branch dev | 创建分支dev | 如果不带参数dev,git branch 会输出所有的分支名称 |
git checkout dev | 切换到分支dev中(HEAD指向当前分支) | |
git merge dev | 将dev分支上提交的内容合并到master分支上 | 这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。 |
git branch -d dev | 删除dev分支 | |
git pull origin master | 从远程的origin的master主分支下载最新的版本并且合并到本地文件中 | |
git fetch origin master | 从远程的origin的master主分支下载最新的版本到origin/master分支上 | (一) git fetch origin master:tmp (二) git diff tmp (三) git merge tmp 首先从远程的origin的master主分支下载最新的版本到origin/master分支上 然后比较本地的master分支和origin/master分支的差别 最后进行合并 |
git log --graph --pretty=oneline --abbrev-commit | 查看分支合并情况 | git log --graph命令可以看到分支合并图 |
git merge --no-ff -m "merge with no-ff" dev | 普通合并模式 | 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并 |
git stash | 保存当前分支修改的内容到缓存中并清空暂存区,工作区恢复到该分支最近一次Push之后的状态 | git stash list 可以查看stash保存过的内容版本号。恢复stash内容可以用以下命令 一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除 另一种方式是用git stash pop,恢复的同时把stash内容也删了 |
git rm -r --cached 文件名 | 删除暂存区内的该文件名的文件 | |
git remote -v | 查看远程仓库信息 | |
git branch --set-upstream-to branch-name origin/branch-name | 建立本地分支和远程分支的链接 | |
git rebase | rebase操作可以把本地未push的分叉提交历史整理成直线 | rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比,且rebase操作之后,我们修改的内容不再基于rebase同一分支的前一个push点而是从新基于rebase之后的一条整理线上的上一个push点 |
git tag name | 新建name标签 | git tag 显示所有标签(显示顺序是已字母为顺序的) git tag name commitId 指定commitId版本上新建标签。还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字,-d tagname 删除指定标签 git push origin --tags 推送所有标签到远程仓库 git push origin tagname推送指定标签 git push origin :refs/tags/tagname 删除远程标签 |
git show tagname | 查看标签信息 | |
git fetch --all && git reset --hard origin_java/master && git pull | 强制覆盖到最新版本 | |