Git入门
Posted mo-mo-mu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git入门相关的知识,希望对你有一定的参考价值。
Git是分布式版本控制系统
sudo apt-get install git就可以直接完成Git的安装
安装完成后,还需要最后一步设置,在命令行输入:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
版本库又名仓库,简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只知道图片从100KB改成了120KB。Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,Windows自带的记事本,每个文件开头添加了0xefbbbf(十六进制)的字符。
mkdir learngit创建一个目录当做版本库,进入该目录,git init命令把这个目录变成Git可以管理的仓库。
ls -ah命令就可以看见.git的目录,该目录是Git来跟踪管理版本库。
1.git add readme.txt 把文件添加到仓库
2.git commit -m "说明" 把文件提交到仓库 通过步骤1和2将文件放到仓库。
可以多次add不同文件,然后一次commit提交。
git status 查看暂存区的工作状态(未追踪的文件,未add的修改等)
git log 查看提交日志,git log --pretty=oneline 查看简便的提交日志。
HEAD表示当前版本,HEAD^表示上一个版本,HEAD~100向上100个版本。
git reset --hard HEAD^ 回退到上一个版本(对已commit)
git reset --hard + 版本ID 回退到该ID的版本(对已commit)
使用--soft就仅仅将头指针恢复,已经add的缓存以及工作空间的所有东西都不变。
如果使用--mixed,就将头指针恢复掉,已经add的缓存也会丢失掉,工作空间的代码什么的是不变的。
如果使用--hard,那么一切就全都恢复了,头指针回复,aad的缓存消失,工作区代码什么的也恢复到以前状态。
git reflog 查看每一次命令操作。
git diff HEAD -- readme.txt 查看工作区和版本库里面最新版本的区别(简化 git diff readme.txt)
git reset HEAD readme.txt 撤销暂存区的readme.txt修改(已add,未commit)
git checkout -- readme.txt 撤销工作区的readme.txt修改(实际是用版本库里的版本替换工作区的内容,无论修改还是删除都可以使用 git checkout -- filename 还原。)
如果直接rm readme.txt 查看暂存区git status显示删除了readme.txt 。
如果要删除 git rm readme.txt 接着git commit -m "delete readme.txt"。如果是误删,可以使用上面的git checkout -- readme.txt 从版本库中恢复readme.txt 到本地。
以上是关于Git入门的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段