我有一台具有 SSH 访问权限的服务器,我想在那里放置一个 Git 原始存储库。我刚刚在本地创建了一个 --bare --shared 存储库,并将其复制到每个 SCP 的服务器上。现在我想根据 SSH url 克隆这个存储库。我试过
ssh://USERNAME@HOST/folder1/folder2/gifolder.git
ssh://USERNAME:PASSWORD@HOST/folder1/folder2/gifolder.git
ssh://USERNAME@HOST:PORT/folder1/folder2/gifolder.git
ssh://USERNAME@HOST:/folder1/folder2/gifolder.git
Run Code Online (Sandbox Code Playgroud)
以及以上的一些组合。但 Git 总是说
"fatal: The remote end hung up unexpectedly"
Run Code Online (Sandbox Code Playgroud)
尽管我可以通过 SSH 使用用户名和密码连接到主机。
是否可以按照我想要的方式使用 git,或者我是否必须以完全不同的方式设置它?
更新:
我将 Git 扩展配置为使用 OpenSSH 而不是 Putty,现在 OpenSSH 要求我在“克隆”后输入密码。当我输入正确的密码时,出现以下错误:
bash: git-upload-pack: command not found
Run Code Online (Sandbox Code Playgroud)
(OpenSSH 似乎可以连接到服务器,因为它希望我在输入其他内容时重新输入密码)所以。现在我需要解决这个新问题。首先:我无法在服务器上安装 git。是否可以在不安装 git 的情况下使“git-upload-pack”和“git-receive-pack”可用?
再次感谢
更新2 - 解决方案:
解决方案是将远程存储库目录集成为每个 SSH/SFTP 的本地目录。我正在使用http://www.expandrive.com/来实现此目的。谢谢
是否可以在 hudson 中仅克隆一个 git 分支?Hudson 版本 2.2.0 和 git 插件版本 2.2.0 克隆了整个指定项目,因此占用了大量空间(预计会永远增长)
提前致谢。
在我克隆了一个存储库后,一个新分支test已添加到origin远程。但我仍然看到:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
我应该使用什么 git 命令来获得以下输出:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/test
Run Code Online (Sandbox Code Playgroud)
git checkout 远程分支问题不是我的问题,因为这是在我看到所有远程分支引用之后发生的。
我无法再次克隆该存储库,因为其中有本地更改/提交。
那么,如何使用 git 命令将新的远程分支引用引入我的存储库?
我正在使用具有以下分支的 BitBucket 存储库:
试炼
git fetch不起作用:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git fetch
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git fetch origin
$ git branch -a
* master
remotes/origin/HEAD -> origin/master …Run Code Online (Sandbox Code Playgroud) 我的 Git 存储库中有几个文件夹:
folder1/suba
folder2/subb
folder3/subc
Run Code Online (Sandbox Code Playgroud)
在本地,我的网络服务器上有公共文件夹。
http://domain.com/
Run Code Online (Sandbox Code Playgroud)
指向该文件夹
~/apps/appname/public
Run Code Online (Sandbox Code Playgroud)
我想有效地对服务器上的文件夹folder3/subc进行git 克隆。public现在我知道稀疏结帐,但保留了文件夹层次结构(就像这样~/apps/appname/public/folder3/subc)。
我不想要这个层次结构,并且想将folder3/subc 的内容直接签出到公共文件夹中。
那可能吗?
git clone有一个--reference <repository>选项可以设置一种可用于存储对象的缓存,因此不需要将所有对象复制到新创建的存储库中。将创建一个文件.git/objects/info/alternates,其中列出引用的存储库目录。
我刚刚尝试并能够在克隆时指定多个“引用”,并在文件中创建了两行.git/objects/info/alternates。
我的问题:是否有一个命令可以在克隆后的某个时刻在现有存储库中添加引用。例如,通过类似 的命令git remote reference <repo>。
如果没有,是否可以通过手动编辑文件.../alternates来达到相同的结果?
在问这个问题之前,我找到了一个相关的帖子:
但看起来还好,我的接收对象很慢。
只有3.00 KiB/s,为什么这么慢,因为我在中国,GFW影响吗?
我测试过打开VPN翻开GFW,可以看到facebook.com。
git clone 时如何提高网速?
我在父文件夹中有一个 git 存储库。我们将此文件夹称为“根”。然后该文件夹中有一个子目录,我们称之为“child”。我想要做的是将远程存储库作为子模块克隆到“child”中:
git submodule add git@github.com:username/repopath child/
git submodule add git@github.com:username/repopath ./child/
Run Code Online (Sandbox Code Playgroud)
以上都给了我错误:
子项已存在于索引中
我尝试将目录从跟踪中删除:
git rm --cached .\child\*
git submodule add git@github.com:username/repopath child/
Run Code Online (Sandbox Code Playgroud)
然后我得到这个错误:
“child”已经存在并且不是有效的 git 存储库
非常感激任何的帮助
谢谢
当父提交图中没有包含它们的标签或分支时,就会创建孤立提交。例如,如果你犯了一个分支foo,添加提交a和b,然后删除分支(即删除引用foo从提交b),那么这两个a和b,除非你救了他们的哈希值将是不可到达的。
x-x-x-x <- master
\
a-b <- foo (reference then deleted or reset to somewhere on master)
Run Code Online (Sandbox Code Playgroud)
孤立提交的基本 Git 行为是最终垃圾收集并删除它们(我听说默认至少是 30 天)。
将以往的Git从一个回购移动孤儿提交到另一个使用git clone,git fetch或git push命令?
或者 Git 是否有效地忽略了任何不直接调用孤儿哈希(例如checkout或cherry-pick)的操作的这些提交?
我有一个到 bitbucket 的基本 git clone 命令,我必须在其中添加登录凭据,是否可以将登录凭据添加到 bitbucket git clone 命令?
https://myacc@bitbucket.org/myacc/app.git
Run Code Online (Sandbox Code Playgroud)
像这样的东西?
https://myacc@bitbucket.org/myacc/app.git -Password "123"
Run Code Online (Sandbox Code Playgroud) 我和我的同事安装了多个版本的 Visual Studio,出于业务原因,我们可能需要保留一段时间。对于某些团队成员,从 Azure DevOps 服务器克隆 git 存储库时,会打开不方便的 Visual Studio 版本,从这个 Web UI 开始:
我们如何确保在克隆时/之后打开首选版本的 VS?作为奖励,有没有办法为每个存储库配置它?
到目前为止,我们最好的方法是遵循这些步骤。然而,它似乎并没有始终如一地更新每个用户的偏好。特别是,如果团队成员已经针对早期版本(例如 VS 2015、VS 2017)至少克隆了一次,我们似乎有一段时间将这种偏好更新到 VS 2019 以坚持下去。
注意:我们的机器有两次列出的MS VS Web 协议处理程序选择器。我们已经尝试设置两者或两者都没有成功。任何我们为什么会看到协议选择器两次的建议也可能有所帮助。
visual-studio git-clone azure-devops visual-studio-2019 azure-devops-server-2019