Git 基础使用
· 阅读需 14 分钟
一些常用的命令如下,不算全面但是日常对我来说是够用了。
git clone url
:克隆项目,如需自定义本地文件夹的名称,在 url 之后加个名称即可。git add
:这是个多功能命令,可以用它开始跟踪新文件,或者把已跟踪的发生更改的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等。git rm
:要从 Git 中移除某个文件,就必须要从暂存区域移除,然后提交。可以用git rm
完成,并连带从工作目录中删除指定的文件,这样以后就不会出 现在未跟踪文件清单中了。git diff
:查看尚未暂存的文件更新了哪些部分。在后面加一个--staged
参数,将比对已暂存文件与最后一次提交的文件差异。
git status
:查看哪些文件处于什么状态、当前所在分支。git commit -m "msg"
:提交,-m
参数可将提交信息在后面附上。提交时记录的是放在暂存区域的快照。 任何还未暂存文件的仍然保持已修改状态,可以在下次提交时纳入版本管理。git log
:查看提交历史。git reset
:撤销操作。git remote
:查看远程仓库,可使用-v
查看更详细信息。git fetch <remote>
:从远程仓库拉取数据。
一、通过SSH方式使用GitLab
创建SSH私钥和公钥
ssh-keygen -t
生成密钥,-t 参数后面跟着加密类型
ssh-keygen -t ed25519
生成之后,.pub
后缀的文件即是公钥文件,无后缀名的则是私钥文件
验证身份
-T
参数为 不显示终端,只显示连接成功信息
ssh -T git@gitlab.com
之后就可以使用ssh地址克隆项目了
二、更改仓库地址
基本知识:
git remote
查看所有远程仓库,加上-v
则显示详细信息(包括所有仓库的地址)git remote get-url origin
查看 origin 的远程仓库地址git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url origin https://xxxxx.git
三、撤销操作
修补提交
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。可在修改或添加后,add到暂存区,然后使用 git commit --amend
来修正提交。就像下面一样:
git commit -m 'initial commit'
git add forgotten_file
git commit --amend
如果单使用 --amend
参数,会打开 vim 然后在里面修改上次的 commit 消息。如果还使用了 -m
那就在后面直接写上提交消息,然后提交了。
取消暂存的文件
暂存了多余的文件,如何取消呢,使用 git reset HEAD <file>
来撤销对该文件的暂存。在 VSCode 中可以通过点击 Unstage Changes 实现,而 Discard Changes 实际上是下面要说的 恢复到上次提交的样子。
恢复到上次提交的样子
对于已追踪但未暂存的文件,比如你改了一堆代码然后发现不满意,想要回到之前的样子(最后一次提交),使用 git checkout -- <file>
即可。
撤销提交
代码提交了但是又后悔了,想要重新编辑一下提交信息,建议使用修补提交的方法,即使用 --amend
参数修补提交一下。
当然,也可以使用 git reset --soft HEAD^
直接撤销 commit。其中 HEAD
是指针,HEAD^
和 HEAD~1
指向上一次提交,HEAD^^
和 HEAD~2
指向上上次提交。
reset 的几个参数:
- 使用参数--mixed(默认参数),将撤销提交,撤销暂存,保留工作区改动的代码
- 使用参数--soft,将撤销提交,不撤销暂存,保留工作区改动的代码
- 使用参数--hard,将撤销提交,撤销暂存,删除工作区改动的代码