1、Git常用命令
- git branch newBranch:在本地新建一个分支(newBranch)
- git checkout newBranch:切换到你的新分支(newBranch)
- git branch:查看当前的分支,可以看出当前处于哪个分支。
- git branch –b newBranch:在本地新建分支(newBranch),并且切换过去(低版本Git不支持)
- git add ./:将改动提交到暂缓区中
- git commit –m “this is test”:将暂缓区中的内容提交到本地分支
- git push origin newBranch:将本地分支发布在远程仓库上
- git pull origin master:将远程master代码更新到本地当前分支
- git merge newBranch:将本地newBranch分支代码合并到当前分支上
- git branch -d newBranch:在本地删除一个分支
- git push origin :Branch1:在github远程端删除一个分支 (分支名前的冒号表删除)
2、在git pull origin master将远程master分支更新到本地master的时候,可能会存在冲突。那么,为什么会产生冲突呢?
冲突是因为git pull命令会从远程拉内容,并且合并到本地仓库的分支上,如果两个人都对同一个文件进行了修改,在合并的时候不可以自动选择应该以哪个版本为准,也就是产生了冲突,需要我们解决冲突,之后重新add-commit-push。
3、git reset --hard 和 --soft 的区别是啥?
通过git log可以查看当前分支的commit_id提交记录。当我们想回退到某个版本的时候,可以采用git reset命令,之后通过git push origin branchName –f 命令来强制将当前分支push到远程仓库。
- --hard 表示将文件恢复到指定的版本,删除掉了所有的改动,包括工作区和暂缓区。
- --soft 则是将当前分支的HEAD指向指定的版本,并且把指定版本到重置之前的所有改动放入了暂缓区中,经常用来合并多个commit_id。
4、git reset 和 git revert 的区别是啥?
git reset是通过回退HEAD来完成版本回退。git revert是生成了一次新的提交,新的提交和你想去掉的那次提交的内容刚好相反,本质上是一次新的提交,也就是HEAD继续向前进。