git 创建分支提交远程分支

本文介绍如何使用Git创建和管理本地及远程分支,包括创建、切换、推送和拉取分支的方法,以及如何设置默认提交和获取分支。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,从已有的分支创建新的分支(如从master分支),创建一个dev分支

git checkout -b dev

2,创建完可以查看一下,分支已经切换到dev

git branch

    * dev

    master

3,提交该分支到远程仓库

git push origin dev

4,测试从远程获取dev

git pull origin dev

或者:

如果用命令行,运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname  就可以将远程分支映射到本地命名为local-branchname  的一分支

5,我觉得现在重要的就是设置git push,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息

git branch --set-upstream-to=origin/dev

取消对master的跟踪

git branch --unset-upstream master

6,现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master


本地分支的创建

本地分支的来源为执行git checkout -b <branch name> 的那个分支

例如现在有两个分支,master和b1

master 分支下有一个commit:

commit1: add test1.c

b1分支下有两个commit:

commit2: add test2.c

commit1: add test1.c

如果在master分支下checkout,即:

git checkout master //进入master分支

git checkout -b frommaster //以master为源创建分支frommaster

git log后发现frommaster中有一个提交:

commit1: add test1.c

这说明他是从master分支为源头创建的

如果在b1分支下checkout,即:

git checkout b1 //进入master分支

git checkout -b fromb1 //以b1为源创建分支fromb1

git log后发现fromb1中已经有两个提交:

commit2: add test2.c

commit1: add test1.c

这说明他是从b1分支为源头创建的

远程分支的创建

从远程分支检出的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程
分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服
务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,并

把它们的数据都合并到本地分支中来.

$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中

$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git
$ git push origin master


这两个操作是等价的,第二个操作的第一行的意思是添加一个标记,让origin指向ssh://git@dev.lemote.com /rt4ls.git,也就是说你操 作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者 的别名。

    需要说明的是,默认情况下这条语句等价于提交本地的master仓库到远程仓库,并作为远程的master分支。

我从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。

    如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。

$ git push origin test:master         // 提交本地test分支作为远程的master分支
$ git push origin test:test              // 提交本地test分支作为远程的test分支

如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

$ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心


### 如何在 Git创建本地分支并与指定的远程分支关联 #### 创建并切换到新的本地分支 当需要基于当前项目创建一个新的开发环境时,可以先创建一个本地分支。假设要创建名为 `featureX` 的新分支: ```bash git checkout -b featureX ``` 这条命令不仅会创建名称为 `featureX` 的新分支还会立即切换至这个新分支上工作。 #### 关联本地分支与已有远程分支 如果目标是让刚创建的本地分支跟踪已经存在于远端服务器上的特定分支(比如叫做 `origin/develop`),那么可以通过如下方式设置上游分支: ```bash git branch --set-upstream-to=origin/develop featureX ``` 这一步骤确保了之后执行推送(`push`)或拉取(`pull`)操作时,默认针对的是所设定的那个远程同名分支[^1]。 对于初次希望同步本地新建分支远程仓库的情况,则应采用不同的方法来初始化这种联系: ```bash git push --set-upstream origin featureX ``` 上述指令会在远程仓库中也建立起相同名字的新分支,并且自动配置好两者之间的追踪关系[^3]。 #### 验证分支间的映射情况 为了确认是否成功建立了期望中的连接,可利用下面任一命令查看现有分支及其对应状态: - 列出所有的本地和远程分支: ```bash git branch -a ``` - 显示更详细的关于各分支的信息,包括它们各自绑定的远程分支详情: ```bash git branch -vv ``` 通过这些手段能够直观地检验之前所做的设置是否达到预期效果[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值