zoukankan      html  css  js  c++  java
  • git拉取远程分支并创建本地分支

    本地分支推送至远程

    git checkout local_branch
    git push origin local_branch:remote_branch
    

      

    一、查看远程分支

    使用如下Git命令查看所有远程分支:

    git branch -r
    

      

    列出本地分支:

    git branch
    

      

    删除本地分支:

    git branch -D BranchName
    

      

    其中-D也可以是--delete,如:

    git branch --delete BranchName
    

      

     删除本地的远程分支:

    git branch -r -D origin/BranchName
    

      

    远程删除git服务器上的分支:

    git push origin -d BranchName
    
    其中-d也可以是--delete,如:
    
    git push origin --delete BranchName
    

      

    二、拉取远程分支并创建本地分支

    方法一

    使用如下命令:

    git fetch
    git branch -r
    git checkout -b fenzhi001 origin/fenzhi001
    

      

    git checkout -b 本地分支名x origin/远程分支名x

    使用该方式会在本地新建分支x,并自动切换到该本地分支x。

    方式二

    使用如下命令:

    git fetch origin fenzhi001:fenzhi001
    git checkout fenzhi001
    

      

    使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout

     

    查看标签
    打印所有标签
    git tag
    
    打印符合检索条件的标签
    git tag -l <版本号>
    如 git tag -l 1.*.* 为搜索一级版本为1的版本
    
    查看对应标签状态
    git checkout <版本号>
    创建本地标签
    创建轻量标签
    轻量标签指向一个发行版的分支,其只是一个像某commit的引用,不存储名称时间戳及标签说明等信息。定义方法如下
    
    git tag <版本号>-light
    创建带附注标签
    相对于轻量标签,附注标签是一个独立的标签对象,包含了名称时间戳以及标签备注等信息,同时指向对应的commit。定义方法如下
    
    git tag -a <版本号> -m "<备注信息>"
    同时我们也可以像特定的commit添加标签,使用该commit对应的SHA值即可
    
    git tag -a <版本号> <SHA值> -m "<备注信息>"
    比如 git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0" 就是为SHA为0c3b62d的这次提交打了1.0发行版的tag
    
    删除本地标签
    git tag -d <版本号>
    将本地标签提交到远程仓库
    前面所提到的创建标签,只是将标签添加到了本地的版本管理,我们需要在创建之后将本地标签同步到远程仓库,如Github。
    
    推送所有标签
    git push origin --tags
    推送指定版本的标签
    git push origin <版本号>
    删除远程仓库的标签
    同创建本地标签一样,删除了本地标签之后也要同时删除远程仓库的标签。
    
    新版本Git (> v1.7.0)
    git push origin --delete <版本号>
    新旧版本通用方法
    旧版本Git并没有提供直接删除的方法,而我们可以通过将一个空标签替换现有标签来实现删除标签,即如下命令
    
    git push origin :refs/tags/<版本号>
    补充:使用Github添加标签
    

      

     

    在项目中使用Submodule

    使用git命令可以直接添加Submodule:

    git submodule add 地址 目录名

    git submodule add git@github.com:jjz/pod-library.git common
    

      

    使用 git status命令可以看到

    git status
    

      

        On branch master

        Changes to be committed:

        

            new file:   .gitmodules

            new file:   common

     

    可以看到多了两个需要提交的文件:.gitmodules和 common 

    .gitmodules 内容包含Submodule的主要信息,指定reposirory,指定路径:

       [submodule "pod-library"]

            path = common

            url = git@github.com:jjz/pod-library.git

     

    发布子模块改动

    git push --recurse-submodules=check 
    

      

    或者

    git push --recurse-submodules=on-demand
    

      

    如何使用Git删除新增的文件

    解决方案
    百度和实践了一波,总结有两个解决方案

    1. 使用git clean删除
    git clean的作用就是清除未track的文件或文件夹, 主要有以下几个用法

    git clean -n
    1
    使用此命令将会显示将要删除的文件(注:但如果是新增的文件夹,则不会显示,包括这个文件夹下的文件也不会显示)

    git clean -f <path>
    1
    使用此命令将会删除新增的文件,但不会删除新增的文件夹(包括这个文件下的文件)

    git clean -df
    1
    使用些命令则会删除新增的文件和新增的文件夹

    git clean -xdf
    1
    使用此命令则会删除新增的文件和新增的文件夹,包括被.ignore文件过滤文件或文件夹,所以这个命令最好是不要用。

    2. 先将文件提交,再使用git reset --hard命令来删除
    这个方案不提倡,使用麻烦,还容易误删代码。

  • 相关阅读:
    新概念4-16
    答疑汇总-02
    理解Marx-8 9 10晚年的思考 马恩关系再认识 一段思想史的公案
    nefu 116
    nefu 115
    【JZOJ3379】查询【主席树】
    【JZOJ1782】Travel【分层图最短路】
    【洛谷P4550】收集邮票【期望概率】
    【洛谷P1001】A+B Problem
    【JZOJ3339】wyl8899和法法塔的游戏【暴力】
  • 原文地址:https://www.cnblogs.com/sunlong88/p/8681363.html
Copyright © 2011-2022 走看看