zoukankan      html  css  js  c++  java
  • git操作初启篇(一)

    关于git是什么我想我也不用多说什么,其实关于git的操作在他们的官网上有详细的说明,一项新的技术官网上的一定是最权威的,所以学习一门技术我个人更倾向于看官网,下面的是git的官网https://git-scm.com/

    一、下载与安装

    选择自己对应的操作系统,然后进行傻瓜式安装即可。Windows

    Linux中的安装用命令yum  install  git进行安装就行,后面的提示都选择Y就可以安装成功了,其实在官网上也有说明用Linux命令安排时的命令

     点击上图片Linux/Unix按钮进入下面页面,下面页面详细说明了安装所用到的命令,有需要的朋友可以自行在官网查看,因为官网对每一个命令的描述都很详细了,这里就不过多说明

     二、git的版本控制

    以我自己的项目文件夹为例,进行版本控制操作

     点击右键选择git bash here进入如下页面

     用如下命令创建文件夹

     创建完成后进入新创建的文件夹中

     用命令查看会发现这个文件夹中现在是什么文件都没有的

     在目录中执行 git init 命令初始化创建一个 Git 仓库了。

     

     为了搞清楚git是怎么进行版本控制的,下面做一件事,就是创建一份文件然后操作这个文本文件。不断的修改这个文件的内容,每次修改之后,我需要记录修改的历史记录。

    用命令git add a.txt将需要提交的代码从工作区添加到暂存区

     

    其实git add 的命令用法有好几种,在这里先暂时补充下,git add [参数]  [--] <路径>作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。

    1  git add . 

            不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除

    2 git add -u .

           -u  == --update ,表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。

    3 git add -A .

           -A == --all  , 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。

    操作完git add 后就是要提交到本地仓库了,用命令git commit  -m [message] ;其中[message] 可以是一些备注信息。

    然后 git status 命令查看在上次提交之后是否有对文件进行再次修改。

     为显示出git status这个命令的区别,我做一件事,把刚刚提交的文件修改一下

     然后再操作一次git status命令

     会发现他提示你需求再次git add和git commit一下,那就再来次呗

     这些操作完成后那么本地库里就有了两个版本的内容了,现在有了一个需求,那就是要把版本回退到最初始提交的版本,怎么玩,先用git log命令查看下提交记录,会发现有两次提交

     方式有很多,因为我们就提交了两个版本,所以回退到上个版本就可以用git reset  --hard HEAD^就可以了

     再次打开文件会发现文件已回退到上一版本了

    除了这个命令呢还有一个命令就是回退到指定版本,前面用git log命令时细心的人会发现有个版本id,就是commit

     所以说想回退到指定版本就很简单了,直接git reset --hard [commit] 就可以了;细心的朋友可能还能发现一个问题,那就是用git log命令能看到回退后的提交版本信息,回退前的提交信息看不了,如果现在又有个需求,那就是别人后悔回退了,要还原,怎么搞,不急,我们能想到的问题,其实前辈们都遇到过,也做出了解决方案,还有一个命令叫做git reflog

     看上图,这个命令可以把所有提交记录全展示出来,如果这时你想还原就更简单了,就用上面用的那个git reset  --hard [版本号]

     

     这次再打开文件会发现发生了还原

     是不是感觉这些命令也挺好玩的,后面我会说一些更好玩的东西,喜欢的朋友可以看下去

    这短短的一生我们最终都会失去,不妨大胆一点,爱一个人,攀一座山,追一个梦
  • 相关阅读:
    (dfs)codeforces 767C
    配置vscode c/c++像sublime那样按Ctrl+shift+B编译直接运行
    (JAVA)使用swing组件模仿QQ界面+网络编程实现QQ消息传输
    (dp)hihocoder
    (暴力+精度)hihocoder
    区域赛43天
    区域赛第33天
    区域赛41天
    最小和最大表示法
    HDU 6166 二进制划分集合
  • 原文地址:https://www.cnblogs.com/xing1/p/14616920.html
Copyright © 2011-2022 走看看