git - 如何设置 git 以便我可以看到存储库中的内容
问题描述
我正在尝试在服务器上设置 git 存储库。我读了几篇文章,我应该在服务器上有一个裸存储库,并且在本地机器上有非裸存储库。但是当我尝试推送到那个远程存储库(裸)时,我无法做到。
我相信我理解裸存储库的目的是错误的,这导致我面临这个问题。我可以做些什么来让服务器上的存储库用作文件的存储以及管理文件版本控制?(我希望远程服务器也包含这些文件,而不是同步到 github)
我试图克服这个问题的一种方法是在使用创建的服务器上创建另一个非裸存储库,git clone
但这对我来说不起作用。
解决方案
如果你运行:
git push
在没有额外参数的情况下,Git 需要知道发送什么以及发送到哪里。
where to send it部分通常是远程的名称。(单个)遥控器的通常名称是origin
,因此:
git push origin
告诉 Git 将它发送到哪里:到origin
. Git 仍然需要知道要发送什么。
当你使用 时git push
,你选择一些提交或提交来发送。这里的默认值取决于您的 Git 版本,但您可能拥有 Git 2.0 或更高版本(具有默认值的较早版本会给您一个不同的错误,或者没有错误)。在这种情况下,默认是查找与当前分支名称相关的信息。
(您应该将错误消息放入问题本身,而不是作为稍后添加的评论,表明您在master
.)
Git 正在寻找的信息称为upstream。每个分支名称master
都可以有一个上游集。要设置上游,您可以使用:
git branch --set-upstream-to=<target>
这里target
将指定remote ( )和remote上的分支名称,在本例中为. 然后,您的Git将根据您的 Git 发送的提交(如您的.origin
master
origin
master
您引用的错误消息:
use git push --set-upstream README.md master
不是 Git 会打印的东西;它会说:
use git push --set-upstream origin master
这个--set-upstream
标志是一个方便标志。您不必这样做,就像您不必使用git branch --set-upstream-to
. 你可以运行:
git push origin master
每次都告诉你的 Git:在;处调用 Git 。origin
给他我的承诺master
,并要求他设置他的master
。
如果你运行:
git branch --set-upstream-to=origin/master
您将当前分支的上游设置为origin/master
,这意味着您现在可以git push
不带参数运行。或者,如果您运行:
git push --set-upstream origin master
(请注意每个参数的不同拼写!)您的 Git 将以git push origin master
与您相同的方式执行初始操作,但如果成功,您的 Git 将运行:
git branch --set-upstream-to=origin/master master
请注意,这与之前略有不同:这会告诉您的 Git 将您的上游设置master
为origin/master
,而不是设置您当前分支的上游。由于您当前的分支是 master
,所以一切都是一样的。
推荐阅读
- debian - BeagleBone Black IOError: [Errno 16] 使用 I2C 与 BNO055 传感器通信时设备或资源繁忙
- python - 复制代码有效,编写代码无效?
- java - 我在项目单击侦听器上的导航抽屉不起作用
- android - 显示键盘时布局不滚动且视图重叠 Android 约束布局
- html - 如何在网格布局自动宽度容器单元格中省略内容?
- loops - C 编程 - 循环
- python - Tensorflow 警告 - 无法加载动态库“cupti64_101.dll”;dlerror: cupti64_101.dll 未找到
- file - 当前的屏幕分辨率是否保存在任何地方的文件中?(窗口 7)
- angular9 - 如何从 Angular7 中可用的 Angular9 中的 ComponentFactoryResolver 访问 _factories 属性?
- c++ - 在 C++ 中创建字符串时抛出奇怪的错误