git的实际应用

153 阅读2分钟

image.png 无论是对自己代码的控制,还是说与他人的协作,git都已经渗入我们的工作日常

1.如何将本地的文件提交到远程仓库

在git中,文件所在的位置有4个,工作区,索引区,本地仓库和远程仓库 利用add,commit和push将工作区的内容提交到远程仓库

image.png

如: git add .(将工作区的所有文件提交到索引区) git commit -m '提交的内容说明'(将索引区的文件提交到本地仓库) git push(将本地仓库的当前分支提交到远程仓库的对应分支)(默认的远程仓库名字是origin)

2.当commit或者push之后,如何撤销

思索一下原理,撤销,其实就是将一个位置的文件转移到上一个位置,只需要理清楚不同操作是怎么移动的 需要先通过git log查看之前的commitid(如果是push过了,推荐使用git reflog查看)
git reflog show xxx,查看xxx分支的历史git

  1. git reset --soft commitid
  2. git reset --mixed commitid
  3. git reset --hard commitid

reset可以看成是回退到commitid完成之后的代码 也可以将上面的commitid换成HEAD^,代表回退到上一个版本 如果push之后执行以上操作,记得重新push一下,push的时候会有冲突,push -f就行

git revert commitid revert指撤销某次commit,当同时存在merge的commit和当前分支修改的commit时, 使用git revert -m 1 commitid, -m 1 表示保留当前分支的更改 -m 2 表示保留merge分支的更改

--mixed 

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft  

不删除工作空间改动代码,撤销commit,不撤销git add . 

--hard

删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

3.撤销本地的操作

撤销merge,pull等操作 先用git reflog查看历史操作 再用用git reset --hard id就行