zoukankan      html  css  js  c++  java
  • 02_Git基本使用

    创建版本库

    版本库又可以叫做仓库,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来。
    我们可以先在本地创建一个文件夹,当作仓库。
    注意,不管是windows系统还是Macos系统,切记,仓库的路径中不得含有中文。

    通过命令行进入到该目录,由于该我的电脑是Mac,所以我的截图会是Mac的截图。但与windows无太多区别。

    比如我的仓库目录为 /Users/Desktop/project

    使用git init初始化仓库

    cd /Users/Desktop/project
    git init
    

    执行结果

    Initialized empty Git repository in /Users/Desktop/project/.git/
    

    project 文件夹中出现一个叫做 .git 的隐藏文件,该文件夹的内容就是用来管理Git的,所以注意这里边的东西眼看手勿动。


    Git 的核心框架

    再学习git之前,我们先来学习Git的核心框架,了解了核心框架,我们就能够更快的掌握Git了。
    他们分别是:

    1. 工作目录:就是我们的本地目录,我们在本地添加或修改文件
    2. 暂存区域:准备提交到仓库的区域,我们称之为暂存区域
    3. Git仓库:从暂存区域提交到Git仓库的内容

    所以我们想要完成向Git仓库提交文件的话需要做如下操作:

    1. 在工作目录中添加、修改文件;
    2. 将需要提交的文件放入暂存区域;
    3. 将暂存区域的文件提交到 Git 仓库。
      因此,Git 的文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed),依次对应上边的每一个流程。

    将本地文件提交到仓库

    当我在本地创建了code.py文件想要提交仓库,那么之前我们就提到了,将一个文件上传到仓库,需要先提交到暂存区域,然后再将暂存区域的文件提交到仓库
    将本地文件提交到暂存区域(该命令不会有任何返回结果)
    语法:

    git add 文件名
    

    提交code.py文件

    git add code.py
    

    现在我们已经将code.py文件提交到了暂存区域,再将文件提交到 Git 仓库
    语法:

    git commit -m "注释,解释"
    

    将暂存区域的文件提交到仓库

    git commit -m "提交了code.py文件,实现xx功能"
    

    需要注意的是:如果没有使用 -m 选项,Git 会自动打开一个编辑器,要求你在其中输入提交说明(操作命令与 vi 编辑器一致)。

    查看Git的状态

    命令git status
    使用 git status 命令查看当前的状态
    On branch master 告知我们处于“master”的分支,这是Git默认的分支
    nothing to commit, working directory clean 说明你的工作目录没有需要提交的文件
    Untracked files 说明本地新添加但未加入到暂存区域的文件
    比如我现在在本地新增一个main.py文件,然后在查看一下状态

    括号中git 给我们的建议:使用 git add <file 命令将待提交的文件添加到暂存区域。
    我决定接受他的建议将文件新增到暂存区域,然后再查看一下,暂存区域有未提交到仓库的话,是一个什么状态。

    我们看,现在git提示我们git restore --staged 文件名意思是“如果你反悔了,可以将该文件取消暂存”。
    比如,我现在将main.py取消暂存

    git restore --staged main.py
    


    那如果同一个文件,我提交到了到暂存区域后,又再次在本地修改了,此时我查看状态就会存在如下情况。

    注意:我们回想一下addcommit命令
    git add 文件名是将本地的内容提交到暂存,如果此时我们执行这个命令,则是将本地文件覆盖了暂存区域的文件。
    git commit -m "注释"这个命令是将暂存区域的文件提交到仓库,注意,如果现在我们直接执行该命令,则是将修改之前的文件提交到仓库了。
    我们再来看一下git提示的另外一个命令git restore 文件名, 这个命令使用要小心,他是将暂存区域的旧文件覆盖你本地的新文件
    所以,如果你要将本地的新文件提交到仓库中,你需要两部

    1. git add 文件名,先将本地文件覆盖暂存文件
    2. git commit -m "注释"再将暂存提交至仓库

    回到以前版本

    使用git log可以查看到每一次的提交

    我们每次commit一次,就是一个新的版本(也称之为快照)
    如果想回到以前的版本,则需要使用git reset命令

    我们想看看这个命令的用法:
    git reset 指定版本 将git仓库与暂存区域的内容回滚到了指定版本,并未修改你的本地目录
    git reset --soft 指定版本只是将仓库的内容,回滚到了指定版本
    git reset --hard 指定版本将本地、暂存、仓库的都回滚到上一个版本
    指定版本,版本如何表示?
    两种方法:

    1. 在git中,用HEAD这个单词表示最新的版本,如果想回到上一个版本则用HEAD~1,想回到上上一个版本用HEAD~2依此类推
    2. 除此之外还可以指定版本号,如下图,commit后面的这一串东西就是我们的版本id,当然你不需要全部使用,可以用前6~7位就行了。

      示例:
      将回滚到上上上个版本
    git reset --hard HEAD~3
    
    

    回滚到id为9470affbf54a49d87917837daa95cfe05fe3fe90的版本

    git reset --hard 9470aff
    

    git reflog查看所有的提交的信息

    修改最后一次提交的注释信息

    git commit --amend -m "新的注释信息"``
    

    重命名文件

    有时候我们想修改一下文件名,如果文件没提交还好,如果提交了,此时直接修改名字,比如main.py已经提交,此时我将其重命名为run.py,此时对于git而言,你做了两件事,一是删除了main.py,二是新增了run.py,相比较会麻烦一点。所以git提供了重命名的命令git mv 旧文件名 新文件名

    删除文件

    在git中删除文件还是一个比较麻烦的事情,需要使用命令

    git rm 文件名
    

  • 相关阅读:
    vs2013 调用只有dll文件的动态库(一)
    剑指offer 34.二叉树中和为某一值的路径
    JQuery中bind和unbind函数与onclick绑定事件区分
    实现 select中指定option选中触发事件
    页面中的checkbox多选值获取
    页面中href链接的碰撞
    页面中onclick事件引号问题
    页面间传输参数(两种传参方法)
    js的非空校验
    时间控件,选择日期
  • 原文地址:https://www.cnblogs.com/jianxiaochong/p/14689352.html
Copyright © 2011-2022 走看看