git常用命令--持续更新中
git常用命令:
git命令检查jar冲突:
mvn dependency:tree -Dverbose | grep --color=always '(.* conflict\|^'| grep conflict
idea插件:
maven helper
代码拉取跟提交:
- git init //初始化本地git环境
- git clone XXX //克隆一份代码到本地仓库
- git pull //把远程库的代码更新到工作台
- git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面
- git fetch //把远程库的代码更新到本地库
- git add . //把本地的修改加到stage中
- git commit -m 'comments here' //把stage中的修改提交到本地库
- git push //把本地库的修改提交到远程库中
创建/切换分支:
- git branch -r/-a //查看远程分支/全部分支
- git fetch //如果远程存在的分支本地没有 使用git fetch 不用重启idea就能在本地看全部远程分支
- git checkout master/branch //切换到某个分支
- git checkout -b test //新建test分支
- git checkout -d test //删除test分支
- git branch -D <remote_branch_name> //先将被删除的分支在本地删除
- git push origin :<remote_branch_name> //将本地删除分支的操作push到远程,远程仓库则同步删除该分支
- # 如何创建自已的分支并推送到远程
- git checkout -b <new_branch_name> //先在本地创建即将推送的分支
- git push origin new_branch_name:new_branch_name //将该分支推送到远程
- # 如何拉取远程某个分支
- git checkout -b <remote_branch_name> origin/<remote_branch_name> // 创建分支
- git branch --set-upstream origin/<remote_branch_name> <remote_branch_name> //跟远程分支关联
- git branch --set-upstream-to origin/<remote_branch_name> <remote_branch_name> //报track错误时 用这条
合并分支:
- git merge master //假设当前在test分支上面,把master分支上的修改同步到test分支上
- git merge tool //调用merge工具
- git merge --no-ff <分支名> 命令将fa分支合并到master分支上。其中—no-ff表示强行关闭fast-forward方式,fast-forward方式表示当条件允许时,git直接把HEAD指针指向合并分支的头,完成合并,这种方式合并速度快,但是在整个过程中没有创建commit,所以如果当我们删除掉这个分支时就再也找不回来了,因此在这里我们将之关闭。
- git merge branch_name //如何指定分支合并到当前分支
- git merge branch_name //如何指定分支合并到当前分支
- git checkout -b justin <commit-id> //如何从指定commit创建分支
撤销merge操作:
- git checkout 【行merge操作时所在的分支】
- git reset --hard 【版本号】
git 标签:
- git tag <tagname> //用于新建一个标签,默认为HEAD,也可以指定一个commit id
- git tag -a <tagname> -m "this is memeo" //指定标签信息
- git tag 查看所有标签
- git log --pretty=oneline --abbrev-commit //找到历史提交的commit id
- git tag -d <tagname> //删除标签
- git push origin : refs/tags/<tagname> // 删除远程标签
git push origin <tagname>
可以推送一个本地标签;git push origin --tags
可以推送全部未推送过的本地标签;git tag -d <tagname>
可以删除一个本地标签;
利用标签回退:
- git tag 查看所有标签
- git show 【标签】
- git reset --hard 【版本号】
- git push --force origin 强制提交一次,之前错误的提交就从远程仓库删除
- $ git restore -s HEAD~1 READEME.md // 该命名表示将版本回退到当前快照的前一个版本
- $ git restore -s 91410eb9 READEME.md // 改命令指定明确的 commit id ,回退到指定的快照中
- $ git reset --soft HEAD^ // 该命令表示撤销 commit 至上一次 commit 的版本
查看信息:
- git stash //把未完成的修改缓存到栈容器中
- git stash list //查看所有的缓存
- git stash pop //恢复本地分支到缓存状态
- git blame someFile //查看某个文件的每一行的修改记录()谁在什么时候修改的)
- git status //查看当前分支有哪些修改
- git log //查看当前分支上面的日志信息
- git log --graph //直观的查看分支的创建和合并等操作
- git diff //查看当前没有add的内容
- git diff --cache 或者 git rm -r --cached //查看已经add但是没有commit的内容
- git diff HEAD //上面两个内容的合并
- git reset --hard HEAD //撤销本地修改
- echo $HOME //查看git config的HOME路径
- export $HOME=/c/gitconfig //配置git config的HOME路径
切换账号:
- git config user.name //查看用户名
- git config user.email //查看邮箱
- git config --global user.name "xxx" //切换用户
- git config --global user.email //"xxx" 切换邮箱
- git cat-file -t / /查看每个 SHA-1 的类型
- git cat-file -p //查看每个对象的内容和简单的数据结构
- git cat-file //是 git 的瑞士军刀,是底层核心命令
git 工作流程图: