当我ssh到一台机器时,有时我会收到此错误警告,并提示说"是"或"否".从自动ssh到其他计算机的脚本运行时,这会导致一些问题.
警告信息:
The authenticity of host '<host>' can't be established.
ECDSA key fingerprint is SHA256:TER0dEslggzS/BROmiE/s70WqcYy6bk52fs+MLTIptM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'pc' (ECDSA) to the list of known hosts.
Run Code Online (Sandbox Code Playgroud)
有没有办法自动说"是"或忽略这个?
我在一台位于NFS上的Linux机器上有一个10 GB的仓库.第一次git status
需要36分钟,之后git status
需要8分钟.似乎Git依赖于操作系统来缓存文件.只有第一个git
命令commit
,status
包括打包/重新包装整个回购需要很长时间才能获得巨大的回购.我不确定你是否曾经使用git status
过这么大的回购,但有没有人遇到过这个问题?
我已经试过git gc
,git clean
,git repack
但所花费的时间仍是/几乎是相同的.
子模块或任何其他概念,比如将repo打成较小的那些有帮助吗?如果是这样,那么最好分割更大的回购.有没有其他方法可以改善大型仓库上git命令的时间?
我知道默认的重命名限制是100,并且可以使用配置"diff.renamelimit config"增加此值
令人担心的是,如果没有设置此配置,是否会有错误的合并,任何丢失的代码?我试图合并(git merge)2个有巨大变化的分支.
有人可以更多地了解这个配置设置吗?
$ git pull
remote: fatal: object 21f3981dd35fccd28febabd96f27241eea856c50 is corrupted
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header
Run Code Online (Sandbox Code Playgroud)
任何想法为什么失败?
当我跑步时,git --bare fsck-objects --full
我只看到悬挂的链接,但没有断开的链接.也git gc
没有任何帮助.当我从另一个克隆中重新克隆或拉动时,我没有看到这个错误.
我想通过在GIT更新挂钩中使用锁定脚本来锁定用户将文件推入其中的存储库,因为推送只能将userid识别为参数而不是分支.所以我可以锁定刚刚锁定目录的整个仓库.
有没有办法锁定GIT中的特定分支?
或者,Update Hook是否可以识别用户正在推送哪个分支以及推送代码的分支?
有没有办法从回购中的特定标签中提取/获取代码.
我知道在克隆之后,我可以签出标签,但是可以在拉动期间指定标签吗?
在ClearCase中我可以重新定义或提供特定的代码基线,有没有一种方法可以使用git标签,类似于将代码拉/推到指定的标签?
我想要做的是在Windows上使用git克隆,但是父存储库存在于unix机器中.
我使用ssh克隆从UNIX到Windows的克隆,我得到了这个奇怪的错误.
error: git checkout-index: unable to create file <filename>
Run Code Online (Sandbox Code Playgroud)
这发生在git clone的结帐步骤中.
谁能帮我?
对不起,如果已经提出这个问题了.
我从一个名为"git_lab"的repo克隆,它有一个名为"test"的分支.克隆时我使用"-b myname_test"创建一个名为"myname_test"的本地分支,本地克隆名为"myname_git_lab"
当我执行"git pull"时,它会自动获取并合并从"test"到"myname_test"的更改,但是对于git push,我需要指定repo和branch名称.
$> git remote show git_lab
为'git pull'配置的本地分支:myname_test与远程测试合并
有没有办法我可以配置"为'git push'配置的本地分支",这样我就不需要指定分支和repo名称?
我目前正在研究ClearCase,现在正在迁移到GIT.但是我们需要这种迁移,所有工作都将在GIT中完成,数据将被同步支持ClearCase流.我们将在GIT和CC中使用相同的分支名称和流名称,因此编写脚本应该不是问题.这里的问题是,
有人可以建议哪个是同步CC和GIT的最佳模型
将CC中的所有Vobs作为GIT中的单个回购,并将CC中的主要流作为GIT中的各个分支. - 单GIT仓库(VOBS)和许多分支(CC流). - 由于VOB被保存为具有许多分支的单个仓库,因此占用的空间更少.
将重要的CC分支作为独立的GIT存储库,每个存储库具有所有CC VOB. - 许多CC分支的许多GIT仓库 - 这将占用大量空间,因为VOB将被复制.
您认为哪种方法是与ClearCase保持同步的最佳方式
实际上,我试图获得有关合并冲突的报告.我使用'git blame'来查看谁更改了哪一行,但我找不到分支和存储库名称信息.
有没有办法从'git blame'或commit ids'中找到文件的存储库名称,分支名称和作者名称,这样每当发生合并冲突时,我都可以向触及该文件/行的作者发送电子邮件解决它.
git ×9
git-branch ×4
git-config ×2
git-fetch ×2
git-pull ×2
blame ×1
clearcase ×1
commit ×1
fingerprint ×1
git-checkout ×1
git-clone ×1
git-merge ×1
git-push ×1
nfs ×1
performance ×1
sha1 ×1
ssh ×1
ssh-keys ×1