Git常见操作命令汇总
1.一些常用的操作
git init | 初始化当前文件夹为一个本地代码库 |
---|---|
git clone | 将远程仓库克隆到本地仓库 |
git reset --hard <hash值> | 将版本回退到指定hash值的版本 |
git diff | 比较工作区和暂存区的所有文件差异 |
git diff master dev | 比较master分支和dev分支的区别 |
git remote -v | 显示所有远程仓库 |
git branch | 列出所有本地分支 |
git branch -a | 列出所有本地分支和远程分支 |
git checkout dev | 切换分支到dev |
git branch -d dev | 删除dev分支 |
git status | 显示有变更的文件 |
git log | 显示当前分支的版本历史 |
git log --stat | 显示commit历史,以及每次commit发生变更的文件 |
git push origin master | push当前分支到远程分支 |
git rest . | 恢复暂存区的所有文件到工作区 |
git add . | 将工作区所有改动文件add 进工作区 |
git checkout – 1.txt | 将工作区的1.txt 恢复到暂存区的1.txt,如果暂存区没有则去版本库 |
git status 1.txt | 撤消add |
2.代码合并详细操作步骤
## 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支;
$ git fetch origin master:temp
## 比较本地代码与刚刚从远程下载下来的代码的区别;
$ git diff temp
## 合并temp分支到本地的master分支;
$ git merge temp
## 如果不想保留temp分支,删除;
$ git branch -d temp
3.代码提交的详细操作步骤
## 当前你的分支在master分支 ,你的开发所做的操作在dev分支,首先审查区别
$ git diff master dev
## 没问题之后合并
$ git merge dev
## 如果有冲突则解决冲突,没冲突就可以 添加到暂存区了
$ git add .
## 如果此时有的文件你不想commit 可以选择 git reset
$ git reset 1.txt
## 没问题提交
$ git commit -m "提交的备注"
## 推送
$ git push origin master
4.git fetch 和 git pull 的区别
git在本地会保存两个版本的仓库,分为本地仓库和远程仓库。
1、本地仓库就是我们平时 add、commit 的那个仓库。
2、远程仓库可以用git remote -v查看(这里的远程仓库是保存在本地的远程仓库,等同于另一个版本,不是远程的远程仓库)。
说说 fetch 和 pull 的不同:
1.fetch 只能更新远程仓库的代码为最新的,本地仓库的代码还未被更新,我们需要通过 git merge origin/master 来合并这两个版本,你可以把它理解为合并分支一样的。
2.pull 操作是将本地仓库和远程仓库(本地的)更新到远程的最新版本。
5.git clone 和 fork 的区别
1.区别:
git clone 是在自己电脑直接敲命令,结果是将github仓库中的项目克隆到自己本地电脑中了
fork是直接访问github网站,在项目页面中点击fork,然后自己github项目中就会多出一个复制的项目
2.用法
如果我们想要修改他人github项目的话,我们直接git clone代码到本地是不能pull的,所以我们使用fork,先把代码复制到自己的github仓库,然后git clone到本地修改,然后在提交pull(这里的pull是pull到自己github仓库了,我们自己的github仓库中的代码是fork源的一个分支),这时候我们想要把修改的代码提交给他人的话,就可以在自己github上pull,等其他人看到后就可以把代码做一个合并
6.git clone 和 git pull 的区别
git clone是把整个git项目拷贝下来,包括里面的日志信息,git项目里的分支,你也可以直接切换、使用里面的分支等等
git pull相当于git fetch和git merge。其意思是先从远程下载git项目里的文件,然后将文件与本地的分支进行merge。
7.几篇写的很好的文字借鉴借鉴
【1】Git 中 git checkout – 的真正用法:https://www.jianshu.com/p/285302d1eb73
【2】Git的操作文档 https://www.runoob.com/git/git-basic-operations.html