Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

10
key_load_public:格式无效
我使用PuTTY密钥生成器生成带有密码短语的4096位RSA-2密钥。 我保存了.ppk和openSSL格式的公共密钥。腻子格式的公钥无效。 无论如何,我的错误如下: $ ssh -T git@github.com key_load_public: invalid format Enter passphrase for key '/c/Users/Dan/.ssh/id_rsa': Hi Dan! You've successfully authenticated, but GitHub does not provide shell access. 怎么了 我使用Pageant加载密钥,并使用Gi​​t Bash尝试ssh连接。我还将密钥加载到了GitHub,不确定我在做什么错。 我尝试在GitHub中添加新行而不添加新行
99 git  github  ssh  public-key 

4
将Git存储库从GitHub分叉到GitLab
假设我想对其他人的项目实施修复。该项目位于GitHub上。 我可以在GitHub上创建一个fork并实现此修复程序。 但是,我想在GitLab而不是GitHub上创建我的fork。 那可能吗?怎么样? 我已经阅读了这篇文章:https : //about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/ 无论如何,我不确定该怎么办。 我是否应该以某种方式在GitHub的项目的GitLab上创建一个fork? 还是应该在GitHub的项目的GitLab上创建镜像? 还是应该在GitLab上创建一个镜像,然后分叉该镜像? 还是我应该做一些完全不同的事情? 什么是正确的方法。 谢谢。 更新 GitLab上的存储库镜像可能没有意义。我可以在GitLab上创建MY GitHub存储库的镜像,但不能创建其他人的存储库的镜像。 https://docs.gitlab.com/ee/workflow/repository_mirroring.html 到目前为止,这是我所做的: 我已经将原始GitHub项目克隆到了本地机器上。我已将修复程序提交到本地存储库中的新分支。我在GitLab上创建了一个空项目。我已经将本地存储库中的源设置为GitLab上的那个空项目,并将两个分支都推送到GitLab。我在本地存储库中将上游设置为GitHub存储库。 当我想从原始GitHub存储库获取新的提交到GitLab上的存储库(即同步存储库)时,可以使用本地存储库作为中间步骤来进行此操作。但是,GitHub上的存储库和GitLab上的存储库之间没有直接连接。我的设置正确吗?如果我在GitHub上进行分叉,有什么区别吗?
99 git  github  gitlab  git-fork 

5
.gitignore排除目录中的文件,但不排除某些目录中的文件
application/cache/* application/cache/folder/* application/cache/folder/onemorefolder/* 这似乎不起作用。当我克隆项目时,没有"application/cache"文件夹或"application/cache/folder"文件夹等。 我想是否不缓存缓存文件夹中的文件,但缓存文件夹,以便文件夹权限转移并存在。
98 git  gitignore 

1
Visual Studio 2013 git,仅列出了Master分支
我正在使用Visual Studio 2013的Git支持在私有GitHub存储库上工作。我有权承诺。我想切换分支,但是当我进入“分支”视图时,任何列表(分支下拉列表,已发布分支,合并工具)中的唯一分支是主分支。其他分支显示在GitHub,适用于Windows的GitHub和TortoiseGit中。所以我知道他们在那里,我可以访问。 为什么我看不到Visual Studio中的其他分支? 我正在运行Visual Studio 2013 Update 2。

6
您如何组织多个git存储库,以便将它们全部一起备份?
使用SVN,我可以将一个大型存储库保存在服务器上,并在几台计算机上签出。这是一个非常不错的备份系统,使我可以轻松地在任何计算机上工作。我可以签出特定项目,提交并更新“主”项目,或者我可以签出整个项目。 现在,我有一堆用于各种项目的git存储库,其中一些在github上。我还提到了通过git-svn命令导入的SVN存储库。 基本上,我喜欢将我的所有代码(不仅是项目,还包括随机代码片段和脚本,诸如我的简历,我写的文章,我创建的网站等等)都放在一个大的存储库中,可以轻松地克隆到远程数据库中机器或记忆棒/硬盘驱动器作为备份。 问题是,由于它是一个私有存储库,而git不允许检出特定文件夹(我可以将pu作为单独的项目推送到github,但是更改要同时出现在master-repo和sub-回购) 我可以使用git子模块系统,但是它并不能满足我的要求(子模块是指向其他存储库的指针,并且实际上不包含实际代码,因此对于备份没有用) 目前,我有一个git-repos文件夹(例如〜/ code_projects / proj1 / .git /〜/ code_projects / proj2 / .git /),在对proj1进行更改之后git push github,我将文件复制到〜/中。 Documents / code / python / projects / proj1 /并执行一次提交(而不是单个存储库中的众多提交)。然后做git push backupdrive1,git push mymemorystick等等 那么,问题来了:您的个人代码和项目如何使用git存储库,并使它们保持同步和备份?
98 git  backup 

5
如何配置要由UNIX组共享的现有git repo
我有一个现有的git repo(一个裸露的仓库),到目前为止,这个仓库只能由我写。我想向某些UNIX用户组foo开放它,以便foo的所有成员都可以推送到它。我知道我可以使用以下命令轻松设置新的 git repo: git init --bare --shared=group repodir chgrp -R foo repodir 但是我需要对现有的回购目录进行等效的操作。

16
github:没有可用的受支持的身份验证方法
我使用github,过去已在笔记本电脑上成功添加和同步文件。 从最近开始,我在运行后开始收到“ PuTTY致命错误:断开连接:没有可用的支持的身份验证方法 ”: git pull origin master(或push) 然而 ssh git@github.com返回正确的响应:错误:嗨,用户名!您已经成功通过身份验证,但是GitHub不提供shell访问权限。与github.com的连接已关闭。 在github上挖掘后,我发现了这个问题: 没有可用的受支持的身份验证方法 您应该注意环境变量GIT_SSH,如果ssh不适用于git,它将被git使用来查找您的说ssh的客户端。git安装可能使用plink.exe(通过GIT_SSH)执行身份验证。如果是这样,请确保您正在运行pageant.exe,并将您为github创建的密钥加载到其中。这提供了plink.exe的密钥;没有它,将发生上述错误。 不知道什么是plink.exe或peagant.exe ..以及ssh git@github.com似乎可以正确验证的事实使我想知道这里的最佳解决方案是什么。.我当然不想过分复杂必要。
98 git  ssh  github  msysgit 


1
GitHub:搜索旧版本的文件
我知道可以使用GitHub在回购中搜索文件的所有当前版本。但是,我也想搜索回购文件的旧版本。例如,假设我以前在代码中有一个名为get_info()的函数,但是在几个版本之前将其删除,是否有可能搜索get_info并找到代码。如果无法使用GitHub,可以从git命令行使用吗? 编辑 感谢@Mark Longair展示了如何从git命令行完成此操作。如果在GitHub中不可能,那将是一个很棒的功能。
98 git  github 

14
如何解决TortoiseGit上的“ git不能干净退出(退出代码128)”错误?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 改善这个问题 我在提交时遇到了这个严重的错误,并创建了一个错误报告。 我在TortoiseGit操作中不断收到此错误: git没有干净退出(退出代码128) 我已经重新安装了该程序,重新启动,并尝试从github克隆一个新的仓库-似乎没有任何作用。我还删除了%appdata%\ Tortoise git文件夹...我现在很茫然。有关如何进行的任何建议?
98 git  tortoisegit 


9
如何在Excel文件和SQL模式文件上执行更好的文档版本控制
我负责几个Excel文件和SQL模式文件。我应该如何对这些文件执行更好的文档版本控制? 我需要知道这些文件中修改过的部分(不同部分),并保留所有版本以供参考。目前,我在文件名上附加了时间戳,但是我发现它似乎效率很低。 有没有一种方法或良好的做法来进行更好的文档版本控制? 顺便说一句,编辑人员通过电子邮件将文件发送给我。

2
为github上的项目做贡献,如何“将我的请求保存在master之上”
好的,我为github上的一个项目做贡献。github上的项目是upstream,我在github上的分支存储库是origin,local我的计算机上的存储库。 git checkout -b feature # Working on feature git commit -a -m 'only commit on feature' 然后我提交请求请求 git push origin master 审核拉取请求,并且需要进行无关的更改。有人提交并合并到upstream/master 现在,upstream维护人员要求我“在主服务器上重新设置我的拉取请求” 这是我的故事(插入法治音效)..... 我没有对pull请求及其分支功能上的相同提交进行任何更改。 git checkout master git fetch upstream git checkout feature git rebase master => "Current branch feature is up to date." git push origin feature …
98 git  github 

3
在git log中显示所有标签
为什么git log --decorate每次提交不显示多个标签? 编辑:Charles Bailey提出了答案(至少在我的情况下) 本质上,我有一个标记指向另一个标记,该标记指向提交。由于存在额外的间接层,因此该标记未显示在日志中。我必须修复此问题,方法是修复我们的标记脚本以正确标记,或者通过一些shell脚本voodoo递归地遵循标记。无论如何,如果有人需要,我将保留此问题以供参考。(我是堆栈溢出的新手,但我认为这是正确的协议吗?) ...原始问题如下... 背景:我们在工作中使用GIT进行源代码控制,并且我们有一个始终在部署时标记提交的策略。(它实际上是一个执行标签的脚本,然后将标签拉到服务器上)。由于它是一个具有单独的登台服务器和生产服务器的Web应用程序,因此我们通常将发行版标记为登台(用于测试或进行其他操作),然后再将同一提交标记为生产。 因此,实际上在同一提交上经常有多个标签。能够在文本日志中看到它会很好,但是似乎不支持它。我目前正在通过手动检查要查找的标签或启动来解决此问题gitk。虽然这两种解决方案都起作用,但在我看来git log --decorate,默认情况下每次提交仅支持一个标记确实很奇怪。 我做了一些谷歌搜索,但没有发现太多。我是否缺少明显的东西? PS(%d根据手册页和一些快速测试,我实际上使用了带有的自定义格式字符串,它等效于--decorate)
98 git 

3
git浅克隆(克隆-深度)错过了远程分支
克隆远程存储库后,它不会通过-a选项显示任何远程分支。可能是什么问题呢?如何调试呢?在此片段中,未显示两个远程分支: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git $ cd pythonwebkit $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git --version git version 1.8.3.1 在另一台机器上尝试了相同的命令,效果很好: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done. $ cd pythonwebkit/ $ git branch -a …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.