Git命令的自我总结
主要参考:廖学锋老师的教程还有就是一些其他人的博客。
查看当前用户名:
git config user.name
查看当前邮箱:
git config user.email
修改用户名和邮箱命令
git config --global user.name "你的用户名"
git config --global user.email “你的邮箱”
注意:user.nam/email后面千万记得要加空格,否则你就是提交了Git也不会提醒你配置出错。
连接远程库:
git remote add origin git@gitee.com:xxx/create-react.git
clone远程库的东西
git clone git@github.com:xxx/create-react.git
查看是否关联库:
git remote -v
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PRhPikj4-1570616348252)(C:\Users\BM\AppData\Roaming\Typora\typora-user-images\1570604224853.png)]
删除已有的远程库:git remote rm origin
cat 文件名 查看文件名的内容
git status 查看git当前状态
git add 文件名 将相应的文件提交给暂存区(git分为工作空间(就是你的工作目录)、暂存区(git add之后的区域,告诉git 你修改了那些内容),本地版本库(就是存放所有记录的地方))
git commit -m “备注信息” commit就相当于一个存档,一旦更改错误或者误删了文件,就可以从最近的一个commit里面进行恢复。“备注信息”是书写你修改了那些内容,知道这个版本修改的东西是什么。
git log 可以看查看我们每次修改了什么内容,也就是相当于你提交的历史记录。git log是显示从最近到最远的提交日志
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a9aW1k1R-1570616348260)(C:\Users\BM\AppData\Roaming\Typora\typora-user-images\1570585084863.png)]
git log -pretty=oneline 如果嫌弃git log输出的信息太多,可以使用这个命令。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4LMcKmT-1570616348260)(C:\Users\BM\AppData\Roaming\Typora\typora-user-images\1570585136989.png)]
注意点:1094adb…是一个commit id (版本号),他是通过SHA1计算出来一个非常大的数字,用十六
git reset --hard HEAD^ 表示回退上一个版本,
git reset --hard 版本号 这样可以回退到指定的版本。HEAD^^代表回退上上个版本,但是当要回退很多个版本的时候,譬如回退上100个版本,可以写成HEAD~100.注意点:git reset --hard Head^ 只有回退过去,不能穿梭未来。譬如你回退过去之后,想要到回退之前的版本怎么办?此时 git log 只能查看现在的版本。这个时候映入 git reflog 记录你的每一次命令
比较修改:
git diff 比较的是工作区文件和暂存区文件的区别
git diff --cached比较的是暂存区的文件与仓库分支(上次git commit后的内容)的区别。
git diff HEAD --filename(文件名) 比较的是工作区和 版本库里面最新版本的区别。
由此引入一个问题(git关注的是修改的地方,也就是说你commit提交的不是文件,而是你修改的那几行):
git是关注修改的过程,而不是文件。譬如说,你第一个add了工作区之后没有commit 而是又一次修改,进行commit。使用git status你会发现,只提交了第一次add内容,第二次add内容并没有被提交上去。
因为git commit 提交的是暂存区的内容,如果不进行add的话,修改后的内容不会进入暂存区,也就不会提交到。
撤销修改:
第一种:当你乱改了工作区某个文件的内容,想直接丢弃工作区的修改,用命令git checkout – file
第二种:当你不但乱改了工作区某个文件的内容,还add到了暂存区,想丢弃修改的内容时候,分两步。第一步用命令git reset HEAD filename,就回到了场景1,然后再根据你是否需要丢弃工作区的修改,进行相应的第一步操作。
注意点:git reset HEAD filename 这个指令不仅可以进行版本的回滚,还可以把暂存区的修改回退到工作区。
第三种:已经commit了不合适的修改到版本库,想要撤销本次提交,就可以进行版本回滚使用
git reset HEAD^到上一个版本,这个前提是没有push到远程库上面。倘若push到远程库上面只能等死哈哈。
删除文件:
(一个完整的删除流程)
假如说git add 文件名
git commit -m "备注信息"
rm 文件名 //删除某个文件
现在有两个选择:
第一:你是真的想从版本库中删除此文件,那就用git rm 文件名 ,并且 git commit就会从版本库里面删除了。
提示:使用git rm 文件名 和git add 文件名 的效果是一样的
git rm 要删除的文件名
git commit -m "备注信息"
第二:删错了,但是版本库里面还存在,所以可以使用checkout 进行还原
效果是一样的
git rm 要删除的文件名
git commit -m "备注信息"
第二:删错了,但是版本库里面还存在,所以可以使用checkout 进行还原
注意点:git checkout --文件名 是先从暂存区拉取版本进行还原,如果没有就再到版本库里面进行拉取还原。