Tag: git新

git可以忽略一个特定的行吗?

我正在使用git在电话的本地浏览器上进行testing时同步到phonegap。 因此,我有以下行: var isPhoneGap = false; 显然我在修改时会改变这个,但是有什么办法可以让git忽略这一行,或者我必须把它放在它自己的文件中并且忽略它吗? 我在OSX 10.6上使用Gitx和terminal。

如何在git中find下一个提交?

ref^引用ref^前的提交,那么在 ref 之后获取提交呢? 例如,如果我git checkout 12345如何检查下一个提交? 谢谢。 PS是的,git的DAG节点指针结构树什么的。 如何在这之后find提交?

在git中分支描述

git中有一种方法可以对分支进行“描述”吗? 当我尝试使用描述性名称时,在单个分支上工作了一段时间,有时会减less我为什么做出其他主题分支的记忆。 我尝试使用分支的描述性名称,但是我认为“描述”(关于分支目的的简短说明)会很好。

从Git仓库和远程GitHub上完全删除文件

我不小心添加了一个图像的文件夹,并提交。 然后,我做了一个更多的承诺。 然后我使用git rm -f ./images删除了这些文件,然后再次提交。 现在,我在这个分支(主)做了更多的承诺。 在我的HEAD,我没有./static/images文件夹。 由于这个原因,我的回购规模增加了很多。 我怎样才能完全删除这些blob? 我想从我的远程GitHub回购中删除它。

重新包含所有子项目的分支

我有以下的Git存储库拓扑: ABF (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 通过重新设置feature分支,我希望重新整个子树(包括子分支): $ git rebase feature master ABF (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 但是,这是实际的结果: C' (feature) / ABF (master) \ D (feature-a) \ / C \ E (feature-b) 我知道我可以通过执行: $ git rebase –onto feature C feature-a $ […]

哪个gitignore规则是忽略我的文件

有什么办法看到为什么有些文件被忽略git(即.gitignore文件中的哪个规则导致文件被忽略)? 想象一下,我有这个(或更复杂的情况下,有数百个文件夹和数十个.gitignore文件: / -.gitignore -folder/ -.gitignore -subfolder/ -.gitignore -file.txt 如果我运行git add folder/subfolder/file.txt git可能会抱怨它被忽略: The following paths are ignored by one of your .gitignore files: folder/subfolder/file.txt Use -f if you really want to add them. 有没有什么办法知道所有可能的.gitignore有一个规则忽略这个文件,并显示规则? 喜欢: The following paths are ignored by your folder/.gitignore file (line 12: *.txt) folder/subfolder/file.txt Use -f if you really want […]

使用git,我如何忽略一个分支中的文件,但在另一个分支中提交?

我有一个项目,我正在部署到Heroku 。 源代码树包括一堆mp3文件(该网站将用于我大量参与的录制项目)。 我想把它的源代码放在GitHub上 ,但是GitHub的免费账户有300MB的限制。 我不想在一堆mp3文件上使用50 MB的限制。 显然,我可以将它们添加到.gitignore文件,以防止它们出现在我的回购站点中。 不过,我使用git push heroku部署到Heroku。 mp3文件必须存在于我推送到Heroku的分支中,以便它们得到部署。 理想情况下,我想.gitignore我的本地主分支的MP3文件,所以当我把它推到GitHub,MP3不包括在内。 然后,我会保持一个本地的生产分支,而不是被忽视的MP3承诺。 为了部署,我将把master合并到生产中,然后将生产分支推送到Heroku。 我无法让这个工作正确。 这是我想要做的一个例子 $ git init git-ignore-test $ cd git-ignore-test $ echo "*.ignored" >> .gitignore $ git add .gitignore && git commit -m "Ignore .ignored files" $ touch Foo.ignored 在这一点上,Foo.ignored在我的主分支中被忽略,但它仍然存在,所以我的项目可以使用它。 $ git checkout -b unignored $ cat /dev/null > .gitignore $ […]

如何克隆具有特定版本/变更集的git存储库?

我如何克隆具有特定版本的git仓库,就像我通常在Mercurial中做的那样: hg clone -r 3 /path/to/repository

git标签与git分支有什么不同?

我试图了解何时应该使用标签vs分支来pipe理我的代码库。

你什么时候会使用不同的git合并策略?

从git-merge的手册页中,可以使用一些合并策略。 解决scheme – 这只能解决两个头(即当前分支和你从另一个分支)使用3路合并algorithm。 它试图仔细检测交叉融合歧义,被认为是安全和快速的。 recursion – 这只能使用3路合并algorithm解决两个头。 当有多个共同的祖先可以用于三路合并时,它将创build一个共同的祖先的合并树,并将其用作三路合并的参考树。 据报道,这会导致更less的合并冲突,而不会导致通过从Linux 2.6内核开发历史logging中进行的实际合并提交所做的testing错误合并。 此外,这可以检测并处理涉及重命名的合并。 这是拉取或合并一个分支时的默认合并策略。 章鱼 – 这解决了两个以上的情况,但拒绝做复杂的合并,需要手动解决。 它主要是用来把主题分支头捆绑在一起。 这是拉取或合并多个分支时的默认合并策略。 我们的 – 这解决了任何数量的头,但合并的结果总是当前的分支头。 它是用来取代分支机构的旧发展历史。 子树 – 这是一个修改的recursion策略。 当合并树A和B时,如果B对应于A的子树,则首先调整B以匹配A的树结构,而不是读取处于同一级别的树。 这个调整也是对共同的祖先树进行的。 什么时候应该指定与默认值不同的内容? 哪些场景最适合?