我在github上有一个存储库,其他人已经分叉并进行了更改.
我想要:
我创建了新分支:
git commit -b my_new_branch
Run Code Online (Sandbox Code Playgroud)
如何将他们的代码合并到这个新分支?
这是我创建的分支:https://github.com/poundifdef/VirginMobileMinutesChecker/tree/widget_toast
这是我要合并的分支:https: //github.com/xbakesx/VirginMobileMinutesChecker
做这个的最好方式是什么?我尝试了"拉"但它不起作用.老实说,我不知道我在gitland做什么,所以如果有更好的方法来完成这个(除了我创建一个分支并尝试合并),那么我全都耳朵!
我有一个单独的回购,其中我有2个用户组:
我不希望我的master分支机构对我的HTML开发人员进行读/写访问,因为他们不需要对其进行操作,也不应该滥用核心代码.
虽然他们需要在自己的分支上工作ui-developers.我如何在git上执行此操作?
PS:我正在使用BitBucket
更新:
当我对编码和git非常陌生时,我发布了这个问题.经过2年的经验,我现在知道git不允许限制任何特定分支的READ访问.但Bitbucket,Gitlab,Github等服务允许您对分支机构进行写入和合并限制.
此外,我转回Gitlab 6个月前:)
伙计们,
我克隆了一个回购.我通过发出以下命令创建了一个分支来处理功能:
git branch fix78
然后我在那个分支上工作
git checkout fix78
我继续对这个当地分公司做出承诺.现在我想将其推送到repo,因此我发出了以下命令:
git push origin master:fix78
我从Web浏览器查看了repo,发现在repo上创建了一个名为fix78的新分支.但它没有我做过的任何提交.
我在这做错了什么?这就是我想要实现的目标:
有一个repo(master(SVN术语中的trunk)),现在当我正在创建一个功能时我想创建它的本地分支然后我也想检查这个分支到repo(以便其他团队)成员可以看到我在做什么),然后我希望我的本地分支与我创建的这个远程分支同步.
任何帮助/反馈都会非常棒.
谢谢.
我是GIT的新手,到目前为止我一直在使用Visual Studio Online TFS进行版本控制,而且我是唯一的开发人员.当我创建我的上一个项目时,我有点误导我认为GIT是最好的选择.
所以我登记了我的主人.然后,当我打算处理一个我读过的功能时,我必须创建一个分支(这在TFS中不是必需的)所以我创建了"development_print"作为一个新的分支并处理我的功能.
现在我的功能已经完成,但我不知道如何将它合并回主人.我目前对多个分支不感兴趣,只是希望我的新功能合并为master并保持master.
在VS中有一个合并分支选项,但它只允许我合并到development_print(我希望我的功能成为主!)所以它不允许我设置为当前分支和合并来自分支显示:
这有点令人困惑?它似乎全都倒退了.那么如何在不失去我对该功能所做的所有工作的情况下摆脱这种混乱?
我实际上想删除我正在使用的裸存储库中的一个分支,但是这个任务遇到了死胡同,因为如果没有裸工作库没有的"工作树",我就无法切换到主存储库.
当我运行git branch -d master输出时是:
error: Cannot delete the branch 'master' which you are currently on.
Run Code Online (Sandbox Code Playgroud)
所以我尝试通过运行切换到另一个名为'develop'的分支git checkout develop,输出为:
fatal: This operation must be run in a work tree
Run Code Online (Sandbox Code Playgroud) 我在我的git repo中有一个名为xyz的文件.巧合的是,我还有一个名为xyz的分支.目前我在掌握,但我想结帐分支xyz.要使用的命令很简单
$ git checkout xyz
Run Code Online (Sandbox Code Playgroud)
但这会将文件签出xyz到当前的HEAD.如何将分支更改为分支xyz?
我最近在我的系统中克隆了我们的开发代码分支的回购:
git clone https://gitserver.com/product
Run Code Online (Sandbox Code Playgroud)
克隆成功后,我在查询时获得以下状态:
$ git branch
* develop
Run Code Online (Sandbox Code Playgroud)
我意识到现在需要删除这个分支,因此:
$ git checkout develop
Already on 'develop'
Your branch is up-to-date with 'origin/develop'.
$ git branch -d develop
error: Cannot delete branch 'develop' checked out at 'C:/work/test'
Run Code Online (Sandbox Code Playgroud)
我不确定是否应该尝试使用GIT命令或Unix命令'rm -rf'来删除本地开发分支库?最后为什么没有人可以删除'develop'分支.
当我从另一个分支机构挑选一个提交时,我发现自己做了很多.
$ git log -1 another_branch
commit <commit_sha>
// copy <commit_sha>
$ git cherry-pick <commit_sha>
Run Code Online (Sandbox Code Playgroud)
我可以在一个命令中完成所有这些操作,如果是这样,它是什么?
存在用于快速框架公共回购这里.我希望能够将它分成私有企业GitHub存储库.分叉将允许所有分支保留.
另一种方法是克隆repo并将只有一个分支推送到企业,但后来我失去了没有源/源的所有分支.
更新:我最终将所有分支推入企业git.如果你只是做一个git push yourRemoteName myNewBranch那么它会将代码推送到企业git上的那个分支,同时在企业GitHub中创建该分支.
如何只知道分支名称,如何为给定分支中的所有提交生成补丁?
此步骤是复杂工作流程的一部分,所有这些工作流程都是自动化的.因此,要求某人手动确定分支中的第一次提交不是一种选择.
请注意,依赖于reflog的任何内容都不是一个选项,因为分支中的更改不是在本地进行的.
git ×10
git-branch ×10
git-checkout ×2
github ×2
bitbucket ×1
branch ×1
git-merge ×1
git-patch ×1
git-push ×1
git-remote ×1
gitlab ×1
sha ×1