Questions tagged «git»

Git是一个免费和开源的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。

9
如何跟踪/ etc /中的更改
我想跟踪/ etc /中的更改 基本上,我想知道用户是否更改了文件,yum update如果我不喜欢更改则将其回滚。我想到了为此使用git,LVM或btrfs快照之类的VCS或备份程序。 你会推荐什么?
30 backup  git  btrfs  etc 

3
Linux Kernel项目如何在早期阶段跟踪错误?
我们都知道Linus Torvalds是因为Bitkeeper的问题而创建了Git。(至少对我而言)不知道的是,直到那时如何跟踪问题/票证/错误?我尝试过,但没有得到任何有趣的东西。我唯一能就此主题进行的讨论是Linus与使用Bugzilla共享担忧的地方。 推测: -在最初阶段,人们追踪错误的最简单方法是将票放入其自己的分支中,但可以肯定的是,很快它不会因噪音超过好错误而扩大规模。 我已经看过并使用过Bugzilla,除非您有时会知道正确的“关键字”,否则您会很困惑。注意:我对早期(1991-1995年)如何用来跟踪问题特别感兴趣。 我确实看过两个线程,“ Kernel SCM saga ”和“ Trivia:git何时自托管? ”,但是这些都没有提到早期的内核错误跟踪。 我四处搜寻,但无法获得1991-1992年间提供的任何FOSS错误跟踪软件。Bugzilla,Request-tracker和其他工具出现的时间要晚得多,因此它们似乎已经淘汰了。 关键问题 那时候,Linus,子系统维护者和用户如何报告和跟踪错误? 他们是否使用了某些错误跟踪软件,制作了一系列错误并手动提出了有关错误的问题和讨论(这样做会很昂贵且很痛苦)还是只使用电子邮件。 后来,Bugzilla出现了(1998年第一版),这似乎是随后报告错误的主要方法。 希望对过去的事情有一个更清晰的了解。
29 linux  kernel  git  history 


6
是否可以仅克隆git项目的一部分?
我找到了slackbuild的集合,我需要一些在GitHub上。 https://github.com/PhantomX/slackbuilds/ 我不想得到所有的git。 git clone https://github.com/PhantomX/slackbuilds.git 但只得到slackbuild,对于这一个。 这该怎么做?可能吗?
29 git 

4
为什么我要签出在GitHub上删除的分支?
在我们的GitHub存储库中,一位同事删除了一个名为的分支release。但是,当我在git checkout release本地运行时,我总是得到被删除的分支release。同样,即使我签出了另一个分支,也使用删除了该release分支,git branch -D release然后再次运行git checkout release。 GitHub存储库上有什么要修复的,还是我应该在本地修复?
26 git 

1
忽略所有git命令中的空格更改
我发现了很多网站,它们解释了如何在更改行尾时使用git来警告您,或者使用了其他多种方法来防止您弄乱整个文件。假设为时已晚-树已经具有可切换文件行尾的提交,因此git diff显示了减去旧文件后再添加具有相同内容的新文件 我正在寻找一个git配置选项或命令行标志,该参数指示diff忽略它们-如果两行仅在空白之间有所不同,则假装它们是相同的。我需要这个配置选项/标志工作任何依赖文件的差异- diff,blame甚至merge/ rebase理想-我想git完全忽略尾随的空白,尤其是行尾。我怎样才能做到这一点?

6
在Linux上,git是否有可用的gui前端?
我以前是Windows用户,刚开始使用ubuntu。在Windows上,我们有两个很棒的软件:TortoiseSVN和TortoiseGit。两者都是非常好的程序,它们使我们能够执行所有操作,例如提交,回滚,合并,查看历史记录,浏览存储库等,而无需知道单个cli命令。 现在在Linux上,我发现很难记住所有命令的git命令。git push和git remote add罚款。但是合并特别乏味,尤其是解决冲突。在TortoiseGit中,只需单击几下鼠标即可! 我已经找到了git-gui等废话,但是这些功能与TortoiseGit没什么可比的。为什么在Linux系统上没有完整的TortoiseGit端口?
25 software-rec  git  gui 

4
在bash脚本中回答是
我正在尝试git clone通过bash脚本进行处理,但是第一次运行该脚本并且不知道服务器,但该脚本失败了。我有这样的事情: yes | git clone git@github.com:repo/repoo.git The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? 但是它忽略了yes。您知道如何强制git clone将密钥添加到已知主机吗?
24 shell  ssh  scripting  git 

4
给定一个git commit hash,如何找出包含它的内核版本?
假设我有一个问题,该问题已由官方Linux git存储库的最新补丁修复。我有一个解决方法,但是当包含我的修复程序的发行版出现时,我想撤消它。我知道确切的git commit哈希,例如f3a1ef9cee4812e2d08c855eb373f0d83433e34c。 回答问题的最简单方法是:到目前为止,哪个内核版本包含此补丁?如果不需要本地Linux git存储库,则奖励积分。 (LWM讨论了一些想法,但是这些想法确实需要本地存储库。)

1
正则表达式(Big | Small)(State | City)-[0-9] * \。csv的.gitignore模式等效项是什么
我有一个正则表达式卡在我.gitignore类似于: (Big|Small)(State|City)-[0-9]*\.csv 它没有用,所以我对RegexLab.NET进行了测试。 然后,我找到了gitignore手册页,这使我了解到gitignore不使用正则表达式,而是使用fnmatch(3)。 但是,fnmatch它似乎没有等效的捕获组。这可行吗?还是需要将其分为三行?

3
如何解决“ Hunk#1 FAILED at 1(不同的行尾)”消息?
我正在尝试使用命令创建补丁 git diff sourcefile >/var/lib/laymab/overlay/category/ebuild/files/thepatch.patch 当我应用补丁时,它给了我 $ patch -v GNU patch 2.7.5 $ /usr/bin/patch -p1 </var/lib/laymab/overlay/category/ebuild/files/thepatch.patch patching file sourcefile Hunk #1 FAILED at 1 (different line endings). Hunk #2 FAILED at 23 (different line endings). Hunk #3 FAILED at 47 (different line endings). Hunk #4 FAILED at 65 (different line …
22 git  diff  newlines  patch 

2
为什么较少由git不必要地运行?
当我git branch从bash或csh 运行时,它会自动将输出通过传递less。但是,存储库中只有几个分支,这是不必要的,这很烦人,因为一旦我少退出,分支列表就会消失。 检查~/.gitconfig文件和本地.git/config文件不会发现有关寻呼机或任何其他会导致这种情况的信息。否则,我在网络搜索中没有发现任何有用或有希望的东西。 为什么会发生这种情况?less在需要时(例如git log,有很多历史记录的情况下),我可以做些什么(如果有的话),而在没有其他情况的情况下(例如git branch只有2个或3个分支的a)呢?
22 git 

2
如何退出git merge询问提交消息?
我正在使用git。我做了一个普通的合并,但是它一直在问: # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. 即使我写点东西,我也不能从这里退出。我找不到说明这一点的文档。我应该怎么做?
22 git  merge 

2
Github从现有克隆中添加一个存储库作为fork
所以我有一个git存储库,是从ghithub的上游源克隆的。我对此做了一些更改(未提交且在master分支中)。我要做的是将更改作为新分支推送到我的github页面上,并使github仍将其视为fork。 那可能吗?我是git和github的新手。我的问题甚至有意义吗? 我能想到的最简单的方法(我敢肯定这是最普遍的方法)是在github上存储仓库。在本地将其克隆到其他目录。添加上游原始存储库。在该新的分支存储库中创建一个分支。手动将我的代码更改复制到新的本地存储库中。然后将其推回我的github。 这是一个常见的用例吗,有一种更简单的方法而无需复制目录吗? 我想我在这里问的不是SO,因为我在Linux上使用命令行git,这里的人给出了更好的答案imo =]

3
仅显示基于正则表达式的差异/补丁的相关块
git log -G<regex> -p是一个很棒的工具,可以在代码库的历史记录中搜索与指定模式匹配的更改。但是,将相关的块放置在差异较大/不相关的块的海洋中的diff / patch输出中可能会让人不知所措。 当然可以在的输出中搜索git log原始的字符串/正则表达式,但这并不能减少视觉噪音和许多无关更改的干扰。 继续阅读git log,我看到有--pickaxe-all,它与我想要的完全相反:它扩大了输出(扩展到整个变更集),而我想将其限制(到特定的块)。 本质上,我正在寻找一种“智能”地将差异/补丁解析为单个块的方法,然后针对每个块执行搜索(仅针对更改的行),丢弃不匹配的块,然后将其输出那做。 我所描述的工具是否存在?有没有更好的方法来获得匹配的/受影响的大块头? 我已经完成了一些初步的研究... 如果可以grep比较/修补程序输出并使上下文选项值动态(例如,通过正则表达式而不是行数),则可能就足够了。但是grep并不是完全按照这种方式构建的(我也不一定要求该功能)。 我找到了patchutils套件,最初听起来好像它可以满足我的需求。但是在阅读其man页面之后,这些工具似乎无法处理基于正则表达式的匹配块。(不过,他们可以接受帅哥列表...) 我终于遇到了splitpatch.rb,它似乎可以很好地处理补丁的解析,但是需要对其进行显着扩展,以通过stdin,匹配所需的块,然后输出块来处理读取补丁。
20 git  diff  patch 

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.