git本地分支推送至远程

本地分支推送至远程

1

2

git checkout local_branch

git push origin local_branch:remote_branch

  

一、查看远程分支

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

1

git branch -r

  

 

列出本地分支:

 

1

git branch

  

 

 

删除本地分支:

 

1

git branch -D BranchName

  

 

 

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

 

1

git branch --delete BranchName

  

 

 删除本地的远程分支:

1

git branch -r -D origin/BranchName

  

 

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

1

2

3

4

5

git push origin -d BranchName

 

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

 

git push origin --delete BranchName

  

 

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

方法一

使用如下命令:

1

2

3

git fetch

git branch -r

git checkout -b fenzhi001 origin/fenzhi001

  

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

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

方式二

使用如下命令:

1

2

git fetch origin fenzhi001:fenzhi001

git checkout fenzhi001

  

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

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

查看标签

打印所有标签

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 地址 目录名

1

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

  

使用 git status命令可以看到

1

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

 

发布子模块改动

1

git push --recurse-submodules=check

  

或者

1

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命令来删除
这个方案不提倡,使用麻烦,还容易误删代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值