Git 学习笔记 beta 1.0

Git 学习笔记

  1. Linux 下安装 Gitsudo apt-get install git

  2. 配置Git用户名&email地址

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

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

    (Tip:git config 命令的 --global 参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。)

  3. 创建版本库

    创建一个文件夹(任意名称,这里我叫做mygit),并将这个文件夹初始化为Git仓库

    mkdir mygit

    cd mygit

    git init

    Tip:

    此处打开mygit文件夹查看是空空如也的,但使用ls -a是可以查看到此处有一个’.git’的隐藏文件夹的。

    在git 克隆代码之后,还不能直接使用git,而需要初始化git,它会自动创建git仓库需要的目录。这些文件存在于项目下的.git文件夹下。

    .git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西,

    转载:.git文件夹详解

    下图的版本库即为我们的.git文件夹下的内容

    git-repo

  4. 正式使用Git:

    创建文件后,想将文件添加到Git仓库,分两步:

    git add 文件名  将本地仓库的文件提交到git的暂存区(stage/index)

    git commit -m “本次提交的说明”  将暂存的所有文件提交到版本库的当前分支

    Tip.

    使用命令git status可以查看当前处理文件所在状态

    多次修改可以用git diff 文件名查看版本间内容差异 (前提是没有提交到版本库过一次)

  5. 版本回退:

    Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

    关于commit_id:

    HEAD表示当前版本

    HEAD^表示上一版本

    HEAD^^表示上上一版本

    HEAD~20表示回退到倒数第20个版本

    324ea...像这样的一串16进制数

    均可以用以上代码替换commit_id,以回到想回到文件版本。

    Tip.

    这里可以使用git log查看提交历史的记录,以便确定要回退到哪个版本

    git reflog查看使用的命令历史记录,当在历史版本情况下,想返回当时在未来某时刻的版本,可使用这个命令来查看到那时的commit_id

  6. git三区

    工作区,暂存区(stage/index),历史记录区

    git-repo

  7. 撤销修改

    命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就让工作区的readme.txt回到添加到暂存区的状态。

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

    若是修改了readme.txt并且已经git add了但没有commit

    git reset HEAD readme.txt可以把暂存区的修改撤销掉(unstage),重新放回工作区

    git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。)

    此时再使用git checkout -- readme.txt来将readme.txt回退到上一次commit时的版本

    SUM:

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

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

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

  8. 删除文件

    使用rm readme.txt删除工作区的readme.txt文件

    之前有在版本库提交过readme.txt,因此要同步地在版本库中删除该文件,

    使用git rm readme.txt git commit -m "xxx"来同步操作

    –>万一删错了怎么办?可以使用git checkout -- readme.txt来在工作区恢复文件(该文件版本即版本库中文件)tip:从来没有被添加到版本库就被删除的文件,是无法恢复的!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值