• git基本使用总结


    基本命令

    初始化设置

    配置本机的用户名和Email地址:

    1.git config --global user.name  "用户名"

    2.git config --global user.email "邮箱地址"

    创建版本库(仓库):

    1.版本库又叫仓库(repository),这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除都能被跟踪。

    2.在合适的位置直接鼠标右键创建一个空目录作为仓库,然后从Git-Bash命令行进入到该目录,或者也可以使用命令行创建空目录,再进入到该空目录中。

    3.以下给出创建并初始化git仓库的代码:

    <1>进入到仓库的位置,我将仓库放在了C:Androidgit-repositories目录下,注意,使用cd命令进入到目录中时,在Git-Bash中应该使用斜线”/”,而不是反斜线””。

    相关指令:

    cd C:/Android/git-repositories

    mkdir new_repository_1 创建新的目录

    cd new_repository_1 进入到创建的目录

    使用init命令将当前目录初始化为Git仓库

    1.git init

    Initialized empty Git repository in C:/Android/git-repositories/new_repository_1/.git/

    (显示信息意思为:初始化了一个空的Git仓库,new_repository_1目录下多了一个.git目录,时用来管理版本库的)

    将数据提交到git仓库(本地仓库)

    第一步:添加文件

    1.git add . 添加所有的文件、文件夹

    2.git add <file> 添加指定名称的文件,<>内部写文件全称

    注:如果文件没有做出任何修改,则默认不会添加任何文件

    第二步:提交文件

    git commit –m “commit info” 提交本次事务,即将add的文件提交到git仓库,引号内部表示本次提交的提示信息

    查询提交状态

    git status 显示提交的状态:已经添加,等待提交事务的文件(绿色字体表示);已经改变但是没有添加(not staged)的文件(红色字体表示);

    查询该文件和git仓库中的文件的区别,即做了什么修改

    git diff <文件全称> 如果已经add了,就打印不出有什么修改了,这一步骤应该在add之前,即添加之前可以用来看看做了什么修改。

    打印历史记录

    git log

    commit xxx      commit id 版本号

    Author:xxx<xxx@xxx.com> 提交人和邮箱

    Date:xxx 提交的时间

    cat <文件全名称> 显示整个文件的内容

    版本回退

    git reset --hard head^

    在Git中,HEAD表示当前版本,就是最新提交的版本,即使用git log打印出来的位于第一位的版本,上一个版本就是HEAD^,上上个版本就是HEAD^^,

    当前向上100个可以写成HEAD~100。当然,还有一种方式就是直接使用commit id来代替HEAD^,比如版本号是cadab353589f3eef075817b890dafe8b722d802b,

    那么就可以直接使用命令:

    git reset --hard cadab353589f 使用前几位表示即可,git会自动查找

    注:版本回退以后,使用git log打印的历史记录都是回退版本之前的数据,之后的都没有了,不过放心,git总有后悔药可以吃哒

    如果命令行窗口没有关闭,直接去前面找commit id即可

    如果命令行窗口关闭了,或者第二天后悔了,可以进入到该目录下,使用git reflog命令来查看以前的每一次命令,可以获得每次提交的commit id,就可以版本回退了。

    git reflog 可以查看命令历史,包含提交的commit id

    版本回退原理

    简单讲,就是说只要进行了代码提交,Git内部都会按照时间节点进行记录,每条记录都有commit id作为唯一标识(就像是链表每个节点都有唯一的地址一样),HEAD总是指向当前版本(就像指针一样)。所谓的版本回退,仅仅是讲Head从当前版本指向了指定的版本,然后将工作区的文件也修改了。

    工作区和暂存区

    Git和其他版本控制系统的一个不同之处就是有暂存区的概念

    工作区(就是电脑里能看到的目录,比如上面创建的C:Androidgit-repositories ew_repository_1文件夹就是一个工作区。)

    版本库(工作区中有一个隐藏目录.git,就是Git的版本库,版本库里存放了很多的东西,其中最重要的就是state(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。)

    前面讲到,将文件存入到Git版本库里,分两步执行:

    第一步:用git add命令将工作区的修改文件添加到暂存区; (多次操作)

    第二步:用git commit命令将暂存区的所有修改内容提交到当前分支。(事务提交,包含第一步多次操作,注意,不在暂存区的修改不会被commit)

    一旦事务提交之后,如果对工作区没有做什么修改,那么工作区就是干净的。 

    因为创建Git版本库的时候,Git自动创建了一个master分支,所以现在git commit 就是往master分支上提交事务。

    git进阶:

    git pull origin dev(此时,本地仓库的dev分支已经确保是最新的了,并将远程仓库的dev分支最新代码拉下来)

    git merge dev (将本地dev分支合并到自己的分支上)

    git push origin dev(推送到远程服务器)

    git remote –v (显示远程分支的名称和url)

    linux命令:

    pwd 用于显示当前目录

    ls –ah 用于显示当前目录下的所有子目录和文件(包含隐藏的)

    clear 清屏

    exit 退出linux模式

    注意:通过cmd进入linux模式,命令是 adb s4.hell

     

  • 相关阅读:
    java9新特性-9-语法改进:try语句
    10.04 FZSZ模拟Day1 总结
    10.03模拟总结
    HNOI2012 永无乡
    ZJOI2007 报表统计
    HNOI2004 宠物收养场
    HNOI2002 营业额统计
    Splay 区间反转
    Splay基本操作
    HEOI2016 树
  • 原文地址:https://www.cnblogs.com/xiongzewang/p/11137113.html
Copyright © 2020-2023  润新知