我想删除本地和我在GitHub上的远程项目分支上的分支.
$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.
$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.
$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).
$ git push
Everything up-to-date
$ git pull
From github.com:gituser/gitproject
* [new branch] bugfix -> origin/bugfix
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
remotes/origin/bugfix
在本地和GitHub上成功删除分支我需要做些什么
?
我希望能够做到以下几点:
基于其他(远程或本地)分支(通过git branch
或git checkout -b
)创建本地分支
将本地分支推送到远程存储库(发布),但使其可跟踪,git pull
并git push
立即工作.
我怎么做?
我--set-upstream
在Git 1.7中知道,但这是一个创作后的动作.我想找到一种方法,在将分支推送到远程存储库时进行类似的更改.
我知道如何创建一个跟踪远程分支的新分支,但是如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config
文件,但似乎应该有一个更简单的方法.
尽管我最好去理解它,但我使用git显然很糟糕.
从kernel.org为git push
:
-u
--set上游
对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull(1)和其他命令使用.有关更多信息,请参阅
branch.<name>.merge
git-config(1).
这是branch.<name>.merge
来自git config
:
branch.<name>.merge
定义与
branch.<name>.remote
给定分支的上游分支一起.它告诉git fetch/git pull合并哪个分支,也可以影响git push(参见push.default).在分支中<name>
,它告诉git fetch默认的refspec被标记为在FETCH_HEAD中合并.该值的处理类似于refspec的远程部分,并且必须匹配从给定的远程提取的ref"branch.<name>.remote"
.git pull(首先调用git fetch)使用合并信息来查找默认分支以进行合并.如果没有此选项,git pull默认合并第一个引用的refspec.指定多个值以获得章鱼合并.如果你想设置git pull以便它<name>
从本地存储库中的另一个分支合并,你可以指向branch.<name>.merge
所需的分支,并使用特殊设置.(期间)branch.<name>.remote
.
我成功地使用github建立了一个远程存储库,并且我成功地将我的第一次提交推送到了:
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
然后,我在不知不觉中成功地将我的第二次提交推送到我的远程存储库:
git commit -m '[...]'
Run Code Online (Sandbox Code Playgroud)
然而,错误地以为我将不得不再次推到origin
从master
,我跑:
# note: no -u
git push origin master
Run Code Online (Sandbox Code Playgroud)
那是做什么的?它似乎没有任何影响.我"撤消"了git push -u origin master
吗?
我试图关注这篇文章,但感到困惑,而不是让我的问题得到解决.
这是场景.
我创建了一个分支git checkout -b <branch_name>
.然后,我做了一些改变,并做了
git add .
git commit -m "comment"
现在所有这些更改都在我未提交的本地<branch_name>
分支中.我想要做的是将这些变化推向上游,但我想把它推到一个不存在的分支,例如,<branch_name>_test
我不想把它推给我<branch_name>
.我怎么能这样做.
当我git clone
在存储库或使用时我在BitBucket上托管git pull origin master
并且git pull origin myBranch
它确实第二次拉,但是当我列出分支时git branch -v
我只看到master.做git status
什么也没什么.
如何将网络仓库中的所有分支机构拉到我的本地仓库?
可能是因为我更改了计算机并更改了git设置上的名称所以它只能让我得到master
它因为它是默认分支而另一个只能由创建它的人访问吗?
我创建了一个这样的新分支:
git branch dev-itt-9
但是,它只在本地创建一个新分支
git branch -a * dev-itt-9 master testing remotes/origin/HEAD -> origin/master remotes/origin/development remotes/origin/master remotes/origin/testing
在本地和远程创建新分支的正确方法是什么?
我对git很新.对不起,如果我的问题是愚蠢的.
我有一个脚本,它自动创建一个新的分支,其名称基于外部信息(JIRA票证).在我提交并推送一些代码之前,我不想创建远程分支,但我不想做"git push --set-upstream origin"
换句话说,我想在推送之前设置上游.
git checkout -b mybranch
git <do-something-to-prepare origin/mybranch without talking to origin>
<do work>
git commit -a -m "Made my changes."
git push
Run Code Online (Sandbox Code Playgroud)
我试过了:
git branch --set-upstream-to=origin/mynewbranch
Run Code Online (Sandbox Code Playgroud)
这导致:
error: the requested upstream branch 'origin/mynewbranch' does not exist.
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我是git的新手,我想知道如何解决一个非常基本的场景.我在stackoverflow上读了很多关于git的帖子,但仍然无法弄清楚答案.
我们有一个每个人都在工作的origin/master远程分支.我有一个我想要实现的功能,可能需要时间来开发.同时,人们可能正在检查原始/主人的代码.
考虑到以下需求,我的工作流程会是什么样子以及如何设置我的git分支:
我希望能够将代码更改提交到我的分支并将它们推送到我们服务器上的远程分支,这样我就不会在我的计算机被炸的情况下丢失更改.
我想让我的分支与主分支保持同步.
我想最小化常规合并.我喜欢git rebase的概念,所以我想最大化它的使用,因此快进合并.
在某些时候,我们必须将我的分支FeatureA合并到origin/master中.
总结:
如何设置一个从origin/master拉出但跳到origin/MY-BRANCH的分支?
我的工作流程会是什么样子?
更新:
谢谢@ will-pragnell!您的解决方案与以下内容有何区别?
github上的这个页面建议:
https://github.com/diaspora/diaspora/wiki/Git-Workflow
为了从开发中继获取最新更新,请执行一次性设置,通过输入以下内容将主GitHub存储库建立为远程:
$ git remote add upstream git://github.com/diaspora/diaspora.git
$ git fetch upstream
$ git checkout master
$ git rebase upstream/master
$ git checkout 100-retweet-bugfix
Run Code Online (Sandbox Code Playgroud)
[确保在分支中根据需要提交所有内容]
$ git rebase master
Run Code Online (Sandbox Code Playgroud) 我知道有关于此的数百个教程,但我无法确定从哪里开始.我正在使用MAC并且运行Ubuntu 14.04的远程系统.我想要做的是将文件夹上传到我的组织的github存储库.已经存在一个repo,我想创建一个分支并在该分支中上传我的文件和文件夹.
我试过了
git branch branch_name
git checkout branch_name
Run Code Online (Sandbox Code Playgroud)
但是分支机构不会显示在网页上.我也试过从网页创建一个分支,但我不知道如何上传文件.我也不确定如何实际导航到我要上传的存储库.
请告诉我如何做到这一点.
谢谢!
我有一个本地分支,这是一个叫做的新分支A
.
我想把它推到遥控器上,但我希望它在遥控器中的命名方式不同.
例如,远程名称将users/me/A
在本地,但仍然会被调用A
我怎样才能做到这一点?
如何创建新分支git
以开始处理新功能?
我希望新分支是本地分支,并且当前分支的副本(即,新分支的HEAD应该与当前HEAD相同).
问题区分:
git ×12
git-branch ×5
branch ×2
git-push ×2
git-remote ×2
github ×2
bitbucket ×1
clone ×1
git-checkout ×1
git-track ×1
pull ×1
repository ×1