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命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

使用 Git 来管理 Xcode 中的代码片段

markdown Git代码片段

《Git小书》笔记:1 前言

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段