我在Git中创建了一个新分支:
git branch my_branch
Run Code Online (Sandbox Code Playgroud)
推它:
git push origin my_branch
Run Code Online (Sandbox Code Playgroud)
现在说有人在服务器上做了一些更改,我想从中拉出来origin/my_branch
.我做:
git pull
Run Code Online (Sandbox Code Playgroud)
但我得到:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like …
Run Code Online (Sandbox Code Playgroud) 我已经开始玩Git并遇到过"上游"和"下游"这两个词.我之前见过这些,但从未完全理解它们.这些术语在SCM(软件配置管理工具)和源代码的上下文中意味着什么?
我一直听到有人说他们在Git中提供代码.Git"fork"听起来像Git"克隆",还有一些(毫无意义的)放弃未来合并的心理意愿.Git中没有fork命令,对吧?
GitHub通过将对应关系固定到它上来使叉子变得更加真实.也就是说,您按下前叉按钮后,当您按下拉取请求按钮时,系统足够智能,可以通过电子邮件发送给所有者.因此,它是围绕存储库所有权和权限的一点点舞蹈.
是/否?对GitHub的任何焦虑都会向这个方向扩展Git?或者Git吸收功能的任何谣言?
我有一个origin
来自upstream
github上的project()的fork().现在上游项目添加了一个新分支,我想导入我的fork.我怎么做?
我尝试检查远程并在其上创建一个分支,但是将分支配置git push
为尝试推送到的分支upstream
:
git checkout upstream/branch
git checkout -b branch
Run Code Online (Sandbox Code Playgroud)
也许这不清楚,但我想将分支添加到我的本地存储库,所以我可以将它推送到origin
(我的fork)git push
.因为上游存储库通常是只读的,所以你可以将其分配给贡献.
所以我基本上想要检查一个不存在的分支,origin
其内容将从中拉入upstream
.
我最近参加了GitHub的一个项目.我做了以下事情:
分叉原始存储库,克隆到我的本地机器,建立一个分支来修复现有的bug,修复了该分支中的bug,将该分支推送到我的repo,向存储库的作者发送pull请求以合并我的fix分支到它的主要分支.
这是我第一次提交另一个代码,所以我不知道该怎么做.现在我的pull请求已被作者合并到原始repo/project.
接下来我该怎么办?我应该删除分支吗?我应该合并分支吗?还要别的吗?
原始项目有一个分支.
我还有一个上游设置,以获得原始回购的最新更新.(我是这样做的):
git remote add upstream https://path/to/original/repo.git
Run Code Online (Sandbox Code Playgroud)
我得到这样的更新:
git fetch upstream
Run Code Online (Sandbox Code Playgroud) 我moodle
在我的Github帐户上有一个存储库,我forked
来自官方存储库.
然后我在我的本地机器上克隆它.它工作正常.我创建了几个分支(在master
分支下).我做了几个提交,它工作正常.
当我这样做时,我不知道我是如何得到以下错误的: git push origin master
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
如何在不影响Github上的存储库的情况下解决错误?
我正在使用 Ubuntu 12.10
我.git/config
做的内容cat $(git rev-parse --show-toplevel)/.git/config
给出了:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[branch "master"]
[branch "MOODLE_23_STABLE"]
[branch "MOODLE_24_STABLE"]
[remote "upstream"]
url = git://git.moodle.org/moodle.git
fetch = +refs/heads/*:refs/remotes/upstream/*
Run Code Online (Sandbox Code Playgroud) 当您在github上分叉存储库时,您的分叉存储库包含所有分支和标记.
随着时间的推移,这些分支和标签会过时.
如何使用叉子轻松确保您的叉子具有所有分支和标签而不必重新拼接?
即一个git magicpull --rebase upstream/*myremote/*
它将获取上游的所有分支和标记,并确保myremote中存在相同的分支和标记.
让我们说一个我克隆的存储库(对我来说只有只读)是:
git@github.com:secret_project/dev.git branch: dev
Run Code Online (Sandbox Code Playgroud)
我分叉项目和URL:
git@github.com:secret_user/Dde.git
Run Code Online (Sandbox Code Playgroud)
(我有完全访问权限:读取+写入)
但有人git@github.com:secret_project/dev.git
从另一个分叉版本更新.
假设文件已更改
git@github.com:secret_project/dev.git (test.txt)
content:
hi!
Run Code Online (Sandbox Code Playgroud)
但我的分叉项目test.txt
包含内容文件:
hi
Run Code Online (Sandbox Code Playgroud)
那么如何在本地和我的存储库中更新分叉项目?
我应该使用哪些命令?请用我展示的存储库做一个例子......
我目前正在使用Windows Github GUI,它看起来很酷很容易,所以我经常尝试使用它.我遇到的一个问题是当我分叉一个项目时,我不知道如何使用git更新该fork
git ×9
github ×8
git-fork ×2
definition ×1
git-branch ×1
git-clone ×1
git-push ×1
pull-request ×1
push ×1
terminology ×1
versioning ×1