Git的使用

2020-03-09  本文已影响0人  T情不知所起一往而深

一、版本创建

(1)、创建版本

cd ~Desktop/        选择一个创建空目录的地方
mkdir LearnGit     创建空目录
cd LearnGit              
pwd                 用于显示当前目录
git init            把目录变更git仓库 
ls -ah              显示隐藏的.git文件(成功创建Git仓库后会有)

(2)、把文件添加到版本库

说明:版本控制器系统,只能跟踪个文本文件的改动,比如txt、网页、程序代码等。图片、视频这些
二进制文件虽然也能有版本控制系统管理,但是没办法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是说只知道图片冲100k改成了200kb,但是到底改了什么,版本控制系统并不知道。
git add readme.txt    告诉Git把文件添加到仓库
git commit -m "xxxxx" 告诉Git把文件提交给仓库,其中-m后引号内为本次提交内容说明

(3)、文件修改提交

git status            查看当前仓库状态
                        no changes added to commit (use "git add" and/or
                        "git commit -a") 表示文件被
修改,但是还没有准备提交
git diff              查看具体被修改的内容
git add readme.txt    添加修改
git status            Changes to be committed: 将要提交要修改的内容
git commit -m 修改说明 提交修改 
git status            nothing to commit (working directory clean) 没有
                        需要提交的修改

(4)、版本回退

git log                       查看版本记录
git log --pretty=oneline      显示简单的记录
git reset --hard HEAD^        返回上一版本
git reset --hard HEAD^^       返回上上一版本
git reset --hard HEAD~100     返回上100个版本
git reset --hard HEAD 3628125 返回某一版本3628125
git reflog                    查看操作的所有命令
git push -f 版本回退后强制提交

(5)、工作区和暂存区

工作区:电脑里能看到的目录
版本库:工作区有一个隐藏目录.git,这个不算工作区而是Git的版本库。版本库(暂存区(stage),
分支(master))
![屏幕快照 2017-08-11 上午11.42.03.png](https://img.haomeiwen.com/i4189530/feff8bdb3541bdeb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
前面把文件添加到Git版本库的时候,分两步:
第一步:git add 把文件(或者说修改的内容)添加进去,实际就是把文件添加到暂存区。
第二步:git commit 提交文件,实际上就是把暂存区的所有内容提交到当前分支。

(6)、管理修改

说明:Git跟踪并管理的是修改,而非文件。我们可以把多次修改分别add到暂存区,然后一起commit。每次修改如果不add到暂存区,就不会加入commit
中,这时候git status会提示有文件但是还没准备提交。

(7)、撤销修改

修改后没有add操作的撤销
git checkout --<file>  把文件在工作区的修改全部撤销
第一种:自动修改后还没有放到暂存区,现在,撤销修改就回到和版本库一模一样的状态。
第二种:已经添加到暂存区后,又做了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一个git commit 或者git add的状态

·修改后 有add操作撤销
 git reset HEAD <file> 把暂存区的修改去掉(git reset 命令既可以退回版本也可以退回到工
                      作区,HEAD 表示最新版本)
 git checkout .  或者  git checkout --<file> 会用暂存区全部或指定的文件替换工作区的文件。危险操作,会清除工作区中未添加到暂存区的改动

(8)、删除文件

 rm --test.txt           用于删除一个文件的命令
 git checkout --test.txt 错误删除,一键还原

(9)、删除未被跟踪的文件

git clean 用来从你的工作目录中删除所有untrack的文件
git clean 含义
git clean -n 显示将要删除的文件目录
git clean -f 删除当前目录下所有没有track过的文件,但不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过
git clean -f <path> 删除指定路径下的没有被track过的文件
git clean -df 删除当前目录下没有被track过的文件和目录
git clean -xf 删除当前目录下所有没有track过的文件,不管它是否是.gitignore文件里面指定的文件夹和文件

参考内容
廖雪峰官网
Git教程|菜鸟教程
Git clean

上一篇 下一篇

猜你喜欢

热点阅读