zoukankan      html  css  js  c++  java
  • git命令实践

    一、命令

    git checkout -b 分支名 //创建分支并切换到该分支

    git checkout 分支名 //切换到该分支

    git merge 分支名 //把分支合并到当前分支

    git branch -d 分支名 //删除该分支

    git branch -D 分支名 //强制删除该分支

    git log|head //最近一次记录

    git log --pretty=oneline //以列表的形式列出所有提交记录

    git reset //撤销git add 之后 git commit之前的操作

    git add -A //所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库

    git show commit的值  //显示修改信息

    git commit --amend  //修改commit注释;回车进入后类似vi

    git gc  //压缩,节约磁盘空间

    git fsck  //检测仓库的一致性

    git config --global --unset uer.email   //删除

    git remote add origin <server>  //没有克隆现有仓库,添加到远程仓库

    git push origin --delete <branchName>  //删除远程分支

    git reset --hard <commit>的值  //彻底回退到某个版本

    git log --pretty=oneline 文件名 //文件修改历史

    git stash   //把当前工作区储藏起来

    git stash list  //查看储藏的工作区

    git stash pop  //恢复并删除第一个储藏区

    git stash pop stash@{1}  //恢复并删除第二个储藏区

    git stash clear  //清除所以储藏区

    git stash drop stash@{1}  //删除指定

    git log -Sget_info --oneline  //查看这个关键字的变动信息

    git reflog  //查看log

    git push origin --delete <branchName>  //删除远程分支

    git fetch -p //同步远程分支 

    git branch --contains=abcdefeafeafe //查看commit在哪个分支提交的

    git log -p //显示变更差异

    git log --after="today" // 查看今天的提交 可填yesterday、10 day ago、1 week ago、2 month ago

    git log --before="today"

    git log --grep="修复" //根据日志信息过滤

    git log -i --grep="ISSUE" //忽略大小写

    git branch -r --contains COMMIT_ID //查看commit id在哪个分支

     二、.gitignore文件

    *.js  //忽略所有.js文件

    /*.js //只忽略根下的.js文件

    三、命令略解

    在git提交环节,存在三大部分:working tree, index file, commit

    这三大部分中:
    working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
    index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
    commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。

    ①git diff

    git diff:是查看working tree与index file的差别的。
    git diff --cached:是查看index file与commit的差别的。
    git diff HEAD:是查看working tree和commit的差别的。
    git diff filename:是查看具体文件和上次版本的差别。

    $ git diff ectemplates_class.php
    diff --git a/public/ectemplates/ectemplates_class.php b/public/ectemplates/ectem
    index db83579..8fe8090 100644
    --- a/public/ectemplates/ectemplates_class.php
    +++ b/public/ectemplates/ectemplates_class.php
    @@ -420,7 +420,8 @@ class Ectemplates {
                    if ($this->isdbo == 1) {
                            return $out;
                    }
    -               $prostr = "14&]W97)E9"!B>2!%4U!#35,`";
    +               //$prostr = "14&]W97)E9"!B>2!%4U!#35,`";
    +               $prostr = '';
                    $outtitle = convert_uudecode($prostr);
                    if (!empty($this->codesoftdb) && admin_FROM) {
                            $key_array = explode('/', $this->codesoftdb);
    (END)

    git remote add origin <server>  //更改git远程仓库地址

    git fsck --lost-found   //检查丢失的提交

    git reflog   //检查丢失的提交

    git cherry-pick [commit_hash]  //把一个commit合到另一个分支

    git diff 1.2.2 1.2.3 --name-only | xargs zip update.zip //打包差异

    git push origin --delete tag <tagname> //删除远程tag

    git log --pretty="*# %s(%H)" 1.0.9..1.1.0  //两个tag之间的commit

  • 相关阅读:
    TCP/IP Checksum 吐槽
    RHEL安装时加载第三方raid驱动
    RHEL Channel Bonding
    关于case语句中声明变量并初始化的注意事项
    Allocators与Criterion的相同点及区别
    BitSet构造函数的两种特例
    Bitset<>用于unordered container时的默认hash函数
    C++ Stream
    C++Exception知识整理
    C++String知识整理
  • 原文地址:https://www.cnblogs.com/ahhg/p/4427713.html
Copyright © 2011-2022 走看看