• 第二章 Git


    1.安装

    这个就不必细说了

    2.安装完后还要进行一步设置。

    在命令行输入:

    git config --global user.name "Your Name"

    git config --global user.email "email@example.com"

    3.创建版本库

    切换到目标文件夹下:

    git init

    4.git add <file>添加文件到仓库

    git commit -m<message> 提交所以已经添加的文件

    git status 查看仓库当前状态

    git diff <file> 查看difference。

    git log 查看历史记录,可以加上 --pretty=oneline 这个参数赖过滤一下。前面的大串字符串是每次commit的版本号。在git中,用HEAD表示当前版本。上个版本就是HEAD^,上上个就是HEAD^^,往上100个版本就是HEAD~100.

    git reset --hard HEAD^.表示回退到上一个版本。

    git reset --hard 版本号前几位  :这样还可以返回到回退之前的版本(只要当前窗口还没关,往上找就可以了。)

    git reflog :这个来记录每一次的命令。还可以根据这个来找commit的版本号。(真牛逼)

    git push origin master.  向远程origin仓库push  master分支。

     

    5.工作区和暂存区

    工作区(Working Directory):就是电脑里能看到的目录。有隐藏目录.git。

    版本库(Repository):存了很多东西,其中最重要的就是stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分子master,以及指向master的一个指针叫HEAD。

    6.管理修改

    为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。

    git commit 只会commit add到暂存区的文件

    7.撤销修改

    git checkout --<file> :把该文件在工作区的修改全部撤销,有两种情况:

    (1)文件修改后,还没有被add到暂存区,现在撤销修改就回到和repository一样的状态

    (2)文件修改后,以及添加到暂存区,又作了修改。现在撤销修改就回到添加到暂存区后的状态。

    总之,就是让这个文件回到最近一次git commitgit add时的状态。

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

    8.删除文件

    rm <file>,这是直接在文件管理器中把没用的文件删了。

    这时,git status 会告诉你,哪些文件被删除了。

    现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit。

    另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

    git checkout -- text.txt.

    ps:

    1.如果你用的rm删除文件,那就相当于只删除了工作区的文件,如果想要恢复,直接用git checkout -- <file>就可以

    2.如果你用的是git rm删除文件,那就相当于不仅删除了文件,而且还添加到了暂存区,需要先git reset HEAD <file>,然后再git checkout -- <file>

    3.如果你想彻底把版本库的删除掉,先git rm,再git commit 就ok了.



     
  • 相关阅读:
    第七节:Linux之基于Centos系统安装.Net Core环境、部署Core MVC项目、使用nginx反向代理
    第六节:Linux之基于Centos系统安装Redis、MySQL、Nginx
    华为交换机更改旧密码The password has appeared in recent 5 times.
    华为交换机日志Auto port-defend started
    华为交换机日志A hash conflict occurs in MAC addresses
    华为交换机日志The CRC error is rising
    .net core获取http请求中body的数据
    PL/SQL查询数据中文乱码(中文显示问号)
    基于GraphCuts图割算法的图像分割----OpenCV代码与实现
    OpenCV由汉字生成图片(透明)----可以对抗论文查重!!!
  • 原文地址:https://www.cnblogs.com/jdhdevelop/p/10739580.html
Copyright © 2020-2023  润新知