写在前面
本文不是git入门,但后续会补一些入门知识,主要是写给工作室的学弟学妹快速排障使用。主要是被某些同学整无语了才想着记录一下
观看前提:会上github
git后悔药
世上没有后悔药
但是git有( ̄︶ ̄*))
还在担心上班时脑子一热写下臭骂老板的话导致绩效奖没有吗,还在担心提交记录写的丑吗,还在担心远程push的时候不会搞吗,这篇文章用来记录如何解决这些问题。
基本概念
先介绍一些概念:
- 工作区:工作区就是我们修改的文件但是还没有进行git add
- 暂存区:我们使用git add 之后但是还么有进行git commit
- 已提交:进行git commit 之后
- 已经推送到远程仓库:git push之后
- HEAD:Git中的一个特殊的指针,指向了当前所在分支的最新提交。可以使用 ^ 来当作指针修饰符,HEAD^代表前一个提交, HEAD^^或者HEAD
2代表上两层提交,同理HEADn 当前提交的第n级父提交
工作区
在工作区进行修改之后,发现不想要了可以使用git checkout -- <文件名>
来撤回修改
不过现在git新版本推荐使用git restore <文件名>
来撤回修改
暂存区
git reset HEAD <文件名>
使用这个命令可以将这个文件放回工作区,之后如果不想要了可以结合工作区的命令来撤回修改
已提交
- 撤回提交但是保留修改:也就是回到工作区 :
git reset --soft HEAD^
- 撤回提交并且撤回修改:也就是回到暂存区,
git rest --mixed HEAD^
可以简写为git rest HEAD^
- 撤回修改并且丢失所有的修改:也就是将工作区和暂存区的修改都给撤回:
git reset --hard HEAD^
已经推送到远程仓库
当你到达这一步的时候,你肯定已经慌了,绩效奖多半是没了(;´д`)ゞgit revert HEAD
使用这个可以将你修改的东西撤回,然后你将这个新的提交上去就能够覆盖掉你原来的提交了,但是你原来的那个提交还是在记录中的,仍然可以访问的。
git开发注意
如何进去github
由于不可抗力,github需要一些魔法才能进去。不过工作室目前使用的是工作室服务器上搭建的gitea进行代码的管理,操作和github上基本一致。但是仓库目前由于学校锁ip,必须使用校园网才能进去,所以当成员不在校时,可以使用github来进行开发。
基本操作
如何提交代码
- 在仓库上中建立一个你英文名字的分支或者forked一个到自己仓库中(工作室一般采用第一种)
- 本地打开terminal,输入
git push origin 你要提交的本地分支:你要提交到的远程分支名字
,示例:git push origin main:huangzhenwei
- 点开仓库,找到Pull Request (pr)