• Git 几个常用操作


    git init        --    初始化仓库,

    git clone    --    从远端克隆仓库到本地

    git status   --    查看git仓库的状态

    git log        --    查看git仓库的日志

    git add       --   将修改提交到本地仓库,git add filename就是提交filename这个文件,git add .就是提交所以变化的文件

    git diff        --    不带参数的话就是显示当前工作区的修改变化。

                            git diff [branchA] [branchB]可以用来比较两个分支。

    git commit  -- 提交被add进来的改动

                          git commit -m “the commit message"

                          git commit -a 会先把所有已经track的文件的改动add进来,然后提交(有点像svn的一次提交,不用先暂存). 对于没有track的文件,还是需要git add一下.
                          git commit --amend 增补提交. 会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消.
     
    git reset    --  可以理解成删除本地仓库上的一次提交,相当于还原到上次提交的状态
    git revert   --   反转撤销提交.只要把出错的提交(commit)的名字(reference)作为参数传给命令就可以了.
                          git revert HEAD: 撤销最近的一个提交.
                          git revert会创建一个反向的新提交,可以通过参数-n来告诉Git先不要提交.

                          这个我要好好理解下,因为用的不多,也只是在smartgit上用过几次。

    git branch  --  创建分支

    git checkout -- 切换到某个文件,如果是git checkout filename的话就是丢弃filename这个文件的所有修改。

    git merge     -- 把一个分支merge到当前分支

                            如果出现冲突,需要手动修改,可以用git mergetool.

                           解决冲突的时候可以用到git diff,解决完之后用git add添加,即表示冲突已经被resolved.
    git tag         -- 打tag,用git tag v1.0
    git fetch      -- 
    git pull        -- 
    git  push     --
    git rebase   --
     
     
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Submodule的操作方式,这才是我想写这边随笔的真正目的。
    我是用github测试的:
    1.现在git hub上创建两个git仓库:例如Test_Submodule_SubTest_Submodule两个常规仓库。
    2.将Test_Submodule这个仓库clone到本地,然后cd到根目录下。
    3.这一步才是重要的一步: git submodule add https://github.com/Kent-Hu/Test_Submodule_Sub.git Sub/Test_Submodule_Sub,就是将一个仓库以submodule的形式添加到另一个仓库,这个时候就会将Test_Submodule_Sub.git克隆到Test_Submodule的/sub目录下。
    4.git add .    将新添加的所有文件加到worktree。
    5.git push    将文件添加到远端。
    使用:
    git clone https://github.com/Kent-Hu/Test_Submodule.git的话是没法克隆submodule下的源码的,需要加--recursive选项。
    $ git clone --recurse-submodules https://github.com/Kent-Hu/Test_Submodule.git
    Cloning into 'Test_Submodule'...
    remote: Counting objects: 8, done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
    Unpacking objects: 100% (8/8), done.
    Submodule 'Sub/Test_Submodule_Sub' (https://github.com/Kent-Hu/Test_Submodule_Sub.git) registered for path 'Sub/Test_Submodule_Sub'
    Cloning into 'C:/Users/h144197/Desktop/Test_Submodule/Sub/Test_Submodule_Sub'...
    remote: Counting objects: 4, done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 4 (delta 0), reused 4 (delta 0), pack-reused 0
    Submodule path 'Sub/Test_Submodule_Sub': checked out 'ceebbcc51a03cb1c17eee8adb5c22cf172eb0615'
    

      




     
  • 相关阅读:
    Javascript-逻辑运算符(&&)
    Javascript-蔬菜运算价格
    Javascript-涨工资案例
    Javascript-数据类型转换
    Javascript-数据类型转换 、 运算符和表达式
    HTML5表单及其验证
    /*使用PHP创建一个数组,保存5個员工的信息(ename/sex/salary/birthday/pic)*/
    CERC2013(C)_Magical GCD
    UVA12546_LCM Pair Sum
    UVA12545_Bits Equalizer
  • 原文地址:https://www.cnblogs.com/kent-hu/p/8484720.html
Copyright © 2020-2023  润新知