文章目录
Git简介
简单来说,Git就像一个日志一样,可以帮你记录你对文本文件的修改,但他的功能又强于日志,不仅可以记录,还可以帮你存储那些你对文本文件的修改,当你想要找回之前未修改的文件时,它可以帮你办到。
Git用法
该文章借鉴了廖雪峰的官方网站
-
创建一个版本库
mkdir learngit cd learngit git init在learngit目录下创建一个文本文件,比如readme.txt,并写入一些内容
git add readme.txt git commit -m "对本次更改一些说明(写什么内容都可以,但最好写一些对本次修改有提示作用的内容)" -
查看当前状态
可以帮助查看当前目录下的所有文本文件做了那些修改,比如新建文件,修改文件内容等
git status -
查看文本文件做了哪些具体的修改
git diff <文本文件名> -
版本回退
(1)查询当前所有历史记录
git log 或者 git log --pretty=oneline(2)回退到上一个版本
git reset --hard HEAD^ 上上个版本就是:HEAD^^ 上100个版本:HEAD~100(3)如果后悔了,想要回到最新版本
git reflog #用来记录你的每一次命令,用这个命令可以查询最新版本的SHA1值 git reset --hard <最新版本的SHA1值> -
工作区和暂存区(stage)

-
Git管理的是修改,而不是文件
如果进行了以下操作:
第一次修改 -> git add -> 第二次修改 -> git commit那么git commit只会提交第一次的修改,第二次的修改还没有被加入暂存区
-
撤销修改
(1)只是修改了文本文件,还没有git add:
git checkout -- <file>(2)修改了文本文件,执行了git add,但还没有执行git commit:
git reset HEAD <file> git checkout -- <file>(3)修改了文本文件,执行了git add,执行了git commit,但还没有推送到远程:
版本回退即可(4)修改了文本文件,执行了git add,执行了git commit,把自己的本地版本库推送到远程:
不可撤销了 -
删除文件
git rm <file>如果只是单纯的手动删除文本文件,没有执行git rm,则可以用以下命令来恢复:
git checkout -- <file>
上传到gitee上

- 本地文件夹无.git文件
git init初始化,创建版本库git add .添加所有文件到stage暂存区git commit -m "注释"将stage暂存区的内容添加到master分支中,记得添加注释方便回退git remote add origin 仓库地址连接远程仓库,origin为自定义的名称git pull --rebase origin master同步仓库内容。如果远程仓库为空可以跳过这一步,如果远程仓库不为空,则必须进行这一步,否则会报错。git push -u origin master上传到远程仓库
- 本地文件夹有.git文件
git add .git commit -am "注释"git pull --rebase origin master同步仓库内容。如果远程仓库为空可以跳过这一步,如果远程仓库不为空,则必须进行这一步,否则会报错。git push origin master
- 版本回退

git log或者git log --pretty=oneline:查看所有的提交记录git reset --hard 版本id号(例如图中的bfa45...):回退到指定版本号。版本号不用输全,只要能区分即可git reflog:查看所有的操作
- 分支管理
git branch:查看分支git branch 新分支名称:创建新分支git checkout 分支名称:切换分支git checkout -b 新分支名称:创建并切换分支git add .:提交到该分支下的stage暂存区git commit -m 注释:添加注释,并提交到该分支下git merge master:合并到master分支下git checkout master:切换到master分支下










