git命令总结(一)

$ mkdir file //在当前目录创建文件夹file
$ cd file //加入file
$ pwd  //显示当前位置
$ git init //使变成Git可以管理的仓库

会发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,不要改它,不然会把Git仓库给破坏了。
如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
Git只能跟踪文本文件。图片,视频,Microsoft word等二进制文件无法跟踪,只是知道文件大小的改变,Windows自带的记事本也不要用,它的每个文件开头都被添加了十六进制的字符,可能给你带来一些不可预测的错误。

$ls -ah                    //显示隐藏的目录

编写一个file1文件….然后添加

$git add file1.txt             //先添加文件,在暂存区,可以一次性添加多个,空格隔开
$git commit -m "备注1"   //再备注,两步缺一不可,commit可以多次add后输,把文件提交master分支,

此时修改file1,…..a

$git status                //查看当前状态
#modified:file1.txt     //它提示你文件修改了
$git diff file1.txt        //查看不同之处

它显示了哪里被你修改

-....
+....a

修改之后想要提交,也是跟第一次提交一样

$git add file1.txt
$git commit -m "注释2"
$git log               //查看历史记录
$git log --pretty=oneline  //或者用这个

将显示从最近到最远的历史记录,包括版本id,修改的作者,时间,备注


$cat file1.txt             //查看file内容
head    当前版本 
head^   上个版本    
head^^  上上个版本 
head~5 往前5个版本
$git reset --hard head^    //回到上个版本
$git reset --hard xxxxx    //或者(版本号commit id前几位就够了) 回到版本号对应版本
$git reflog                //查看历史命令,可以获取commit id

我们编辑的是工作区,然后add到暂存区stage,最后commit到master分支,当前版本HEAD指向master

$git checkout -- file1.txt     //丢弃工作区的修改
$git reset head file   //把暂存区的文件撤销(unstage)到工作区

而如果你修改后不但add了还commit了,但你还没有把本地版本库推送到远程(比如github),那你可以回退版本,但是你就丢失了你刚才文件里修改的内容了

$git reset --hard HEAD^
$rm file1.txt          //从工作区删除文件,版本区没有变化
$git checkout -- file1.txt //此时可以重新拿回文件,只要版本区有

checkout其实就是用当前版本替换工作区的版本,所以就能实现上面两个功能

$git rm file1.txt      //第一步
$git commit -m "注释"        //第二步,从版本库删除文件,以确保和工作区一致

猜你喜欢

转载自blog.csdn.net/weixin_38323736/article/details/78737258