本地分支推送至远程
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命令来删除
这个方案不提倡,使用麻烦,还容易误删代码。
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/8681363.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示