1、git 的常用操作命令
git branch -r # 查看远程仓库的分支
git branch # 查看本地仓库的分支
git clone https://gitlab...../TestProject.git # 从远程仓库拉代码,默认是拉master分支
git clone -b upgrade https://gitlab...../TestProject.git # 从远程仓库拉代码,并且拉去指定分支upgrade的代码
git checkout upgrade # 切换本地仓库的分支
git checkout -b upgrade # 在本地创建一个upgrade的分支,并切到此分支上
git branch --set-upstream-to origin/upgrade upgrade #将本地分支和远程分支进行关联
git pull # 将远程分支的代码拉到本地
git add . # 将本地修改的代码保存到本地缓存中
git status # 查看本地缓存的代码状态
git commit -m "upgrade" #将本地缓存里的代码提交到本地仓库中
git push #将本地仓库中的代码上传到远程仓库中
git remote -v # 查看当前项目的远程分支
git reset --mixed # 撤销git add 后暂存区的修改
git reset --soft # 撤销git commit后本地仓库区的修改
git log # 查看历史commit提交的明细
git reset commitID # 撤销某次的commit的内容
git reset --soft # 撤销最近一次的commit的内容
git reset --hard # 撤销本地的代码、暂存区以及本地仓库的修改,这是最严格的撤回,需要谨慎使用
git branch -d upgrade # 删除本地的特定分支
2、git 的提交流程
工作区: 我们能看到的代码
----> git add
暂存区:Index/Stage
—> git commit
本地仓库:repository
默认情况下:暂存区和本地仓库是一样的
当工作区发生变化后,工作区和其他两个区会产生差异
当我们使用git add 命令将文件添加到暂存区后,工作区和暂存区保持一致,只有本地仓库区不同
最后当我们执行git commit后,三个区域又变成一致了,这个时候HEAD指针会指向最近一次的commit
3、如何重置代码 git reset
1) 重置Index区也就是暂存区
如果我们git add 后想要撤销刚才的操作,怎么办呢?
首先通过git status查看状态
git reset --mixed 后,会重置暂存区的变更,保留工作区的内容
或者 git restore --stage xxxx.scala # 如果撤销git add 中的一部分文件,可以用这个命令
git reset --hard #撤销本地、暂存区的操作
2) 重置本地仓库区
如果我们git commit后,想要撤销,怎么办呢?
首先,用git commit后用git log 查看提交记录
git reset commitID # 撤职指定commitID的操作
这个时候我们用git reset HEAD^ 来恢复,就会重置暂存区index区和本地仓库区,但是会保留工作区的内容
git reset --soft # 重置HEAD,保留暂存区和工作区
3) 重置工作区、暂存区和本地仓库区
git reset --hard # 重置暂存区、本地仓库和工作区,所以这个是最强力度的撤销