Questions tagged «git»

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


8
git commit -a“未跟踪的文件”?
当执行时git commit -a,我看到以下内容: # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch better_tag_show # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: ../assets/stylesheets/application.css # modified: …
92 git 

6
如何在不需要强制推送的情况下使用git rebase?
为了实现git nirvana,我花了一整天的时间学习如何在当前合并的情况下利用rebase。 在运行我认为是git 101的流程(我在下面说明)时,必须push --force将更改推回原点。 我不是唯一的一个-我知道,这是覆盖地面(见1,2,3,4,5),我理解的技术原因,为什么力是必要的。我的问题是这样的---有歌声底垫的赞美很多(多)发表的博客以及它如何改变他们的生活(见1,2,3,4,列出了几个),但他们没有提到push --force是的一部分他们的流量。但是,几乎所有对现有stackoverflow问题的回答都说“是的,如果您要重新设置基础,您必须使用push --force”。 考虑到rebase拥护者的数量和宗教信仰,我必须相信使用'push --force'并不是rebase流程的固有部分,并且如果人们经常不得不强迫自己推送,那么他们在做错事。 push --force是件坏事。 这就是我的流程。 没有力量我能以什么方式获得相同的结果? 简单的例子 两个分支: v1.0-版本分支,仅包含补丁 大师 -下一个主要版本的所有内容。 我有一些补丁提交,还有一些针对下一个发行版的提交。 我想将这些修补程序合并到我的母版中,以使它们不会在下一发行版中丢失。启蒙前我会简单地: git checkout master git merge v1.0 但是现在我正在尝试 git checkout master git rebase v1.0 所以现在我在这里: 的时间: git push 没有骰子。
92 git  git-rebase 

2
如何阅读git日志图
在git社区书中,它说 您可以做的另一件有趣的事情是使用'--graph'选项可视化提交图,如下所示: $ git log --pretty=format:'%h : %s' --graph * 2d3acf9 : ignore errors from SIGCHLD on trap * 5e3ee11 : Merge branch 'master' of git://github.com/dustin/grit |\ | * 420eac9 : Added a method for getting the current branch. * | 30e367c : timeout code and tests * | 5a09431 …


6
“ git push heroku master”如何知道要推送到何处以及如何推送到其他仓库?
当推送到Heroku上托管的存储库时,必须执行以下命令: git push heroku master 做什么heroku和master在此命令指示?git如何知道要推送到哪里?(git路径) 另外,我不知道我可以heroku rename用来重命名应用程序,所以在此之前,说我正在使用应用程序名称trytryheroku,现在我使用了,heroku create real-thing但是如果我按下,它仍然会推送到trytryheroku ...有没有办法推送到真实的东西呢?
92 git  heroku 

3
当我'git push'时,git钩子是否被推送到远程?
如果我在本地存储库中的repo / .git / hooks / post-commit中创建一个新的钩子脚本,然后运行“ git push”,钩子是否被推送到远程了?然后,当其他开发人员从同一来源运行“ git pull”时,他们会得到我的新钩子吗?
92 git  githooks 

4
如何使git log不提示继续?
我有几个属于一起的git存储库,还有简单的批处理/ bash文件来循环它们。我经常用log命令遍历它们,以快速查看它们处于什么状态。除了一件事之外,它很好用:如果提交消息的长度超过控制台宽(或多行)的字符数,则git显示该行,然后显示一个换行符(END),然后按q继续(我猜它通过更多或类似方式通过管道输出)。例: > gitloop . "git log --decorate=short --pretty=oneline -n1" 18629ae238e9d5832cb3535ec88274173337a501 (HEAD, origin/master, master) short log 625fb891b9b0b8648459b07ace662ae3b7773c7f (HEAD, origin/master, origin/HEAD, master) short log dc0838118266ba8570ea338c1faddfe8af0387bb (HEAD, origin/work, origin/master, work, master) oops loooooooooooooong log -(END) 这很不方便,因为我不得不按两次q,而我只想一次看到所有这些单线。 如何禁用此行为(最好还是保留此日志格式)?
92 git 


6
清除git本地缓存
我有一个要提交的Webstorm项目,但是在按Git Windows GUI中的提交按钮之前,我记得我不想提交.idea文件夹内容。 因此,我使用了.gitignores为某些IDE自动生成的网站,并将其添加到我的.gitignore文件中。 .idea尽管我删除并重新添加了有问题的文件,但所有被显式忽略的文件仍然显示要提交。 我还提交了gitignore文件,不包含任何其他文件,并重新粘贴了我的内容,但它仍然没有忽略.idea文件。 如何告诉Git刷新或清除其缓存? 我尝试/ cd进入相关目录,然后输入 git clean -n 但没有文件显示。
92 git 

16
'react-scripts'不被识别为内部或外部命令
我有一个maven项目,其中的JavaScript项目被克隆为git子模块。所以目录结构看起来像 mavenapp/src/main/javascript/[npm project files] 在我的package.json中,测试看起来像这样: "test": "react-scripts test --env=jsdom", 但是当我尝试运行npm test时说 'react-scripts'不被识别为内部或外部命令, 有趣的是,当我独立克隆javascript项目时,不会出现此错误。我尝试过重新运行npm install。 npm version : 5.5.1 node version : 9.3.0

3
重新安置分支机构,包括其所有子级
我有以下Git存储库拓扑: A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 通过重新feature分支,我希望重新构建整个子树(包括子分支): $ git rebase feature master A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 但是,这是实际结果: C' (feature) / A-B-F (master) \ D (feature-a) \ / C \ E (feature-b) 我知道我可以通过执行以下操作轻松地手动修复它: $ git rebase …

3
否定模式在.gitignore中如何工作?
我正在尝试使用带有否定模式(以!开头的行)的.gitignore文件,但是它无法按我期望的方式工作。 作为最小的示例,我具有以下目录结构: C:/gittest -- .gitignore -- aaa/ -- bbb/ -- file.txt -- ccc/ -- otherfile.txt 在我的gitignore文件中,我有这个: aaa/ !aaa/ccc/ 我的理解(基于此doc页面)是,不应忽略文件aaa / ccc / otherfile.txt,但实际上git忽略了aaa下的所有内容。 我是否会误解这句话:“否定模式的可选前缀!;先前模式排除的任何匹配文件将再次包含在内。”? 顺便说一句,这是在Windows上使用msysgit 1.7.0.2的。
91 git  gitignore 

4
如何取消提交git裸存储库中的最后一次提交?
考虑到有几个git命令在裸存储库中没有意义(因为裸存储库不使用索引并且没有工作目录), git reset --hard HEAD^ 不能取消提交此类存储库中的最后更改的解决方案。 通过互联网搜索,所有我能找到相关的话题就是这个,在我提出这样做的方式有三种: 1。“手动更新裁判(其中涉及水暖)”; 2.“ git push -f来自非裸仓库”; 3.“ git branch -f this $that”。 您认为哪种解决方案更合适,或者还有其他解决方案?不幸的是,我发现的有关git裸存储库的文档相当差。

2
git如何检测类似文件,以进行重命名检测?
维基百科解释了自动重命名检测: 简而言之,给定版本N中的文件,版本N-1中具有相同名称的文件是其默认祖先。但是,当版本N-1中没有类似文件时,Git会搜索仅存在于版本N-1中且与新文件非常相似的文件。 重命名检测显然可以归结为类似的文件检测。该算法在任何地方都有记录吗?知道自动检测哪些类型的转换将非常高兴。
91 git 

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.