Mic*_*lSB 140 git github git-pull git-fetch
我正在学习git,而且我正在关注Git社区书籍.
以前(很久以前)我在Github上创建了一个公共存储库,包含一些文件.现在我在当前的计算机上设置了一个本地Git存储库,并提交了一些文件.然后我添加了一个指向我的Github页面的遥控器:
[root@osboxes c]# git remote add learnc https://github.com/michaelklachko/Learning-C
Run Code Online (Sandbox Code Playgroud)
这似乎是成功的:
[root@osboxes c]# git remote show learnc
* remote learnc
Fetch URL: https://github.com/michaelklachko/Learning-C
Push URL: https://github.com/michaelklachko/Learning-C
HEAD branch: master
Remote branch:
master tracked
Local ref configured for 'git push':
master pushes to master (local out of date)
Run Code Online (Sandbox Code Playgroud)
现在我想从我的Github repo下载文件到我的电脑.我这样做了:
[root@osboxes c]# git fetch learnc
[root@osboxes c]# git merge learnc/master
warning: refname 'learnc/master' is ambiguous.
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
但是,我在本地目录中看不到任何新文件.我怎么能得到它们?
我也试过这样做:
[root@osboxes c]# git pull learnc master
From https://github.com/michaelklachko/Learning-C
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
Run Code Online (Sandbox Code Playgroud)
顺便说一句,本地我在主分支(没有其他分支):
[root@osboxes c]# git status
On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
nhu*_*uvy 93
git checkout master
git merge origin/master --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)
然后解决冲突
git add -A .
git commit -m "Upload"
git push
Run Code Online (Sandbox Code Playgroud)
小智 38
虽然我全都是为了解决人们的工作问题,但我认为不应该将"push -force"或"--allow_unrelated_histories"作为一般解决方案传授给新用户,因为当他们使用它们时,它们会对存储库造成真正的破坏.不明白为什么事情不起作用.
当你遇到这样的情况时,你开始使用本地存储库,并希望在GitHub上创建一个远程来共享你的工作,有一些值得注意的地方.
创建新的在线存储库时,有一个选项"使用自述文件初始化此存储库".如果您阅读了小字,则会显示"如果您要导入现有存储库,请跳过此步骤."
您可能已经选中了该框.或者类似地,您在尝试初始推送之前在线添加/提交.如果你在每个地方创建一个独特的提交历史,如果没有Nevermore的答案中提到的特殊限额,它们就无法协调(因为git不希望你以这种方式运行).你可以按照这里提到的一些建议,或者更简单地说,下次你想将一些本地文件链接到一个全新的遥控器时,不要检查该选项; 保持远程清洁以进行初始推送.
参考:我对git + hub的第一次体验是遇到同样的问题并做了很多学习,以了解发生了什么以及为什么.
cap*_*aig 12
如果一端没有实质性的历史(也就是说它只是github端的一个自述提交),我经常发现将自述文件手动复制到我的本地仓库并做一个git push -f
让我的版本成为新的root提交更容易.
我发现它稍微复杂一点,不需要记住一个不起眼的标志,并保持历史更清洁.
Edg*_*256 10
在您的分支机构上-说出主人,拉扯并允许不相关的历史记录
git pull origin master --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)
为我工作。
归档时间: |
|
查看次数: |
170359 次 |
最近记录: |