• Git 常用命令(二)


    用 git init 在目录中创建新的 Git 仓库。 
    $ mkdir test
    $ cd test/
    $ git init
    Initialized empty Git repository in /Users/chenm/www/test/.git/
    # 在 /www/test/.git/ 目录初始化空 Git 仓库完毕。

    可以看到在你的项目中生成了 .git 这个子目录(隐藏文件)。 这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。
    ls -a

    不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;而使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面

    ”git init –bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)

    版本库位于工作区根目录下的.git目录中,仅此一处,工作区执行git 命令会依次向上查找.git,非工作区执行git命令会因找不到.git目录而报错。
    显示工作区根目录:
    git rev-parse —show-toplevel

    版本库.git位置:

    git rev-parse —git-dir

    仓库级配置文件位置
    当前仓库下,路径.git/,文件名为config,这个配置中的设置只对当前所在仓库有效仓库级配置文件内容
    全局级配置在用户目录下,文件名为.gitconfig
    系统级配置文件:本地git的安装目录下,Gitetc,文件名为:gitconfig

     
    命令参数 –list, 简写 -l
    格式:git config [–local|–global|–system] -l
    查看仓库级的config,即.git/.config,命令:git config -–local -l
    查看全局级的config,即C:Userszuoyu.ht.gitconfig,命令:git config -–global -l
    查看系统级的config,即D:Program FilesGitetcgitconfig,命令:git config -–system -l
    查看当前生效的配置,命令:git config -l,这个时候会显示最终三个配置文件计算后的配置信息

    git命令自动补齐

    git 命令并不支持自动补全功能,为了使我们的工作更加高效,就非常有必要用到自动补全功能。实现这个功能需要用到 git 源码中的一个脚本文件。

    方法一:
    1.下载git 源码 git clone https://github.com/git/git

    源代码下有个 contrib/completion 目录,有个 git-completion.bash 文件

    cd git/contrib/completion/

    2.将该文件复制到主目录(~)下

    cp git-completion.bash ~/.git-completion.bash

    3.在 .bashrc 中加入:

    vim ~/.git-completion.bash
    source ~/.git-completion.bash

    4. 重启Terminal

    方法二:

    首先下载自动补齐脚本,使用curl命令如下:

    curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash 
    -o ~/.git-completion.bash

    编辑~/.profile 文件,在最后增加如下代码:

    if [ -f ~/.git-completion.bash ]; then
        source ~/.git-completion.bash
    fi

    重启终端后应该就可以使用tab自动补全 

     
    彩色git 输出
    git config  --global color.ui true
    或者编辑git配置文件:vi ~/.gitconfig
    [color]
        ui = true
    设置好以后,当输出到终端时,Git 会为之加上颜色。其他的参数还有false和always,false意味着不为输出着色,而always则表明在任何情况下都要着色,即使 Git 命令被重定向到文件或管道。让diff输出的改变信息以粗体、蓝色前景和黑色背景的形式显示
    $ git config --global color.diff.meta “blue black bold”

    可以参考git config帮助页

    其他

    $ touch README  //创建一个文件
    $ touch hello.php
    $ vim README
    
    $ git grep mmap  //搜索仓库里使用'mmap'函数的地方
    git add welcome.txt 
    //git add 后git diff显示无差异
    //git diff HEAD(版本库头指针)/master 会显示差异
    git commit //如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认会打开 vim。
    
    git-ls-tree      - List the contents of a tree object
    git-ls-files     - Show information about files in the index and the working tree
    git-ls-remote - List references in a remote repository
    
    
    git checkout 重写工作区
    git checkout [-q] [commit] [—] <path>…
    git checkout [branch]
    git checkout [-m] [-b | —orphan new_branch] [start_point]  //创建及切换新分支,新分支从<start_point>指向新的提交开始创建
    
    git checkout —fileName //暂存区fileName文件覆盖工作区,即取消上次操作
    git checkout branchName —fileName  //branchName所指向的fileName覆盖暂存区和工作区
    git checkout  --. / git checkout .  //全覆盖
     
     
  • 相关阅读:
    springmvc返回视图或当api
    springmvc初始注解案例
    @RequestMapping的属性、缩写
    struts初始案例
    2020-3-5所思所想
    使用selenium学习
    spring链接数据库与事务等实际运用再加
    spring的aop
    ubuntu安装docker
    java内存区域和内存溢出异常
  • 原文地址:https://www.cnblogs.com/chenlogin/p/6244978.html
Copyright © 2020-2023  润新知