git使用流程参考:https://blog.youkuaiyun.com/qq_41485414/article/details/102480640
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull
克隆远程仓库
git clone <远程git仓库地址>
查看分支
git branch #查看本地分支
git branch -a #查看本地和远程分支
远程拉取新分支
git fetch origin <远程分支名>:<本地分支名> #只拉取不切换
git checkout <远程分支名> #此方式可以将远程分支拉取到本地,不能设置本地分支名,而是直接与远程分支名相同,同时切换到此分支
git fetch --all #只是下载代码到本地,不进行合并操作
切换分支
git checkout <本地分支名> #此处是远程分支名也可以,当本地没有此分支时会从远程拉取回来再切换,如果远程也没有就会报出错误信息而切换失败
创建本地分支
git branch <本地分支名>
将新创建的本地分支推送到远程
git push --set-upstream origin <本地分支名>
删除本地分支(不能删除当前分支)
git branch -d 本地分支名 #温柔地删除,就是有可能删除不成功,比如你有未提交的修改,它会让你修改了再删
git branch -D 本地分支名 #暴力删除,绝对可以删除,简易使用第一种,在知道次分支没有额外有用信息时可以使用它
删除远程分支
git push origin --delete <远程分支名>
添加修改
git add <文件名1> <文件名2> ... #可以添加一个,也可以添加多个,添加多个时文件名用空格隔开
git add . #添加所有的修改
git add ./*.js #通配符方式添加多个文件
git add -A #添加工作目录下的所有文件
提交修改
git commit -m <"提交附带的描述信息"> #可以不带描述信息,博主没有主动涉及过去掉-m的提交
git commit -a -m "提交" #自动将修改的文件加入缓存区(Index),再进行提交。
拉取远程最新修改
git pull #将当前分支绑定的远程分支的最新的修改拉取到本地,一般在我们push之前都应该pull拉取一下查看是否有冲突
推送修改到远程分支
git push #推送当前分支的已提交的修改到绑定的远程的分支
git push <远程仓库名> <本地分支名> #指定推送本地分支
合并分支
git checkout <主分支> #先切换到合并的分支
git merge <被合并的分支> #再将指定分支合并到当前分支
分支
查看分支 $ git branch
创建分支 $ git branch aaa
切换分支 $ git checkout aaa/master
合并分支 $ git merge aaa
删除 $ git branch -d aaa(delete的缩写)
查看文件修改
git diff <文件名> #如果没有任何修改不做任何显示,如果有修改的地方会显示修改的信息,然后你需要按Q键退出当前查看的状态
git diff #显示工作目录与缓存区(Index)之间的差异
git diff --cached #显示缓存区(Index)与当前git库版本之间的差异
git diff HEAD #显示工作目录与当前git库版本之间的差异
查看提交日志
git log #查询提交日志,按Enter键下翻,按Q键退出
git log --oneline #以简化单行方式显示(每个提交)
git show 版本号 先用git log或者git log --oneline 查看到版本号,然后根据git show 版本号 查看这一个版本修改了哪些内容 例如: git show b75190d
git log --stat #记录我们可以看到每一次commit,都有哪些文件发生了改变
暂存修改
git stash #在你有修改后想merge活着切换分支等的情况下都可以使用到stash
释放之前暂存的修改
git stash pop
撤销未push的commit
git reset --hard 想回退到的版本的id
获取所有标签
git tag
创建标签
git tag -a "你的标签名" -m "解释"
将所有未推送的标签推送到远程
git push origin --tags
推送指定标签
git push origin "标签名"
删除指定
git tag -d "标签名"
回滚代码:
git revert HEAD
参考: git revert 8ef960a #日志的commitId的前几位即可
你也可以revert更早的commit,例如:
git revert HEAD^
销毁自己的修改(版本回退)
git reset --hard
查看版本$ git log --pretty=oneline
回退一个版本$ git reset --hard HEAD^
回退两个版本$ git reset --hard HEAD^^
查看最新版本和上一个版本的差异(一个^表示向前推进一个版本)
git diff HEAD HEAD^
将branchname分支合并到当前分支中。(如果合并发生冲突,需要自己解决冲突)
git merge branchname