Questions tagged «git»

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

6
IntelliJ:查看本地和git提交/分支之间所有已更改文件的差异
使用IntelliJ的差异查看器是检查代码的一种非常好的方法,因为您可以使用IntelliJ代码编辑器的所有功能(重构,完成等)在本地版本中进行更改。 不幸的是,当您在IntelliJ中进行代码审查时,我还没有想出如何做最重要的事情,即:查看工作树中所有已更改文件的差异(签出到要合并的分支)另一个分支(您计划合并到的分支,例如“ master”)。 有谁知道如何做到这一点?
103 git  intellij-idea 

3
如何在派生存储库中将git master分支重置为上游分支?
我已经完全弄乱了我的git repo的master分支。 我想用上游主存储库的内容完全重置推送到我的fork的master分支。我没有兴趣保留任何主分支更改或历史记录。 最简单的方法是从上游项目中删除我的分叉的仓库和仓库。但是,我在其他不想输的分支机构都有工作。 因此,如何用上游主服务器重置推送的主分支? git clone https://myrepo.git cd myrepo git remote add upstream https://upstream.git git fetch upstream 我应该从哪里去重置上游主服务器的本地和远程主服务器分支?
103 git 

2
如何使用pip从git子目录安装?
我有一个带有许多文件夹的git存储库,其中一个是可通过pip安装的python模块,如下所示: repo.git/ repo.git/folder1/ repo.git/folder2/ repo.git/mymodule/ repo.git/mymodule/__init__.py repo.git/mymodule/setup.py repo.git/mymodule/... 现在,我必须执行以下操作才能安装: git clone http://server/repo.git cd repo pip install mymodule cd .. rm -rf repo 是否可以通过pip直接安装模块而无需显式克隆? 我试过了: pip install git+https://server/repo.git/mymodule/ pip install git+https://server/repo.git:mymodule/ 但是我得到: IOError: [Errno 2] No such file or directory: '/tmp/pip-88tlLm-build/setup.py'
103 python  git  pip 

4
为什么git stash pop表示无法从存储条目恢复未跟踪的文件?
我进行了许多分段和非分段更改,我想快速切换到另一个分支然后再切换回去。 因此,我使用以下命令进行了更改: $ git stash push -a (事后看来,我本可以使用--include-untracked代替--all) 然后,当我弹出储藏柜时,我遇到了很多错误: $ git stash pop foo.txt already exists, no checkout bar.txt already exists, no checkout ... Could not restore untracked files from stash entry 似乎没有从隐藏恢复任何更改。 我也尝试过,$ git stash branch temp但是显示相同的错误。 我确实找到了解决此问题的方法: $ git stash show -p | git apply 灾难已经暂时避免,但这引发了一些问题。 为什么首先发生此错误,下次如何避免呢?
103 git  git-stash 

4
sbt如何从git中提取依赖项工件?
我听说过(如果我只记得我在哪里的话,我也已经看过示例)sbt可以从git repo获取依赖项。 我正在寻找从github 获取依赖项harrah / up。该存储库不提供任何工件JAR文件,仅提供被设置为使用构建的源树sbt。我想象的过程是sbt将下载源存储库,进行构建,然后将其用作依赖项。 我可能sbt在想,实际上可以做这样的事情。它可以?如果是这样,怎么办?

11
我可以将现有的git repo与openshift一起使用吗?
仅在openshift上才需要git repo吗?我已经有bitbucket / github git repo,并且只想推送到那里。我可以简单地挂入它,以便openshift获得亲密感吗? 还是为了简化起见,我只在github上推送内容,但是当我要部署时,我会使用openshift做什么? 我确实检查了一下,但是这让我感到困惑:它是在谈论合并退出和新的(openshift)git吗?
102 git  openshift 


1
为什么Git有下午茶时间?
在Git源代码的date.c文件中,我注意到特殊时间名称的以下结构: static const struct special { const char *name; void (*fn)(struct tm *, struct tm *, int *); } special[] = { { "yesterday", date_yesterday }, { "noon", date_noon }, { "midnight", date_midnight }, { "tea", date_tea }, { "PM", date_pm }, { "AM", date_am }, { "never", date_never }, …
102 git 


7
如何“撤消”-单分支克隆?
我使用 git clone -b <branch name> --single-branch <github url> <target directory> 这仅克隆了此分支,但现在我想切换到master和其他分支。除了清除并重新克隆回购协议的其余部分之外,还有什么方法可以撤消--single-branch首选项吗?
102 git  github 

4
浏览Git中的孤立提交
我的git存储库以某种方式变得不稳定-我今天早上加载了msysgit,而不是在当前目录后显示分支名称,而是显示“((ref:re ...))”,'git status'将所有内容报告为新文件'git log'和'git reflog'告诉我“致命:默认修订版本为'HEAD'错误”,依此类推。 执行'git reflog --all'或'gitk --all'向我显示存储库的其余部分是完整的,但是看来我正在处理的分支刚刚消失了,这解释了为什么HEAD似乎不存在/指向任何东西。 我知道git可以保存所有各种各样的信息,并且我假设我的提交只是以某种方式被孤立了,所以是否有一些命令可以向我显示这些提交,以便我可以将HEAD重置为它们? 编辑:亲爱的。我发现'git fsck',并且'git fsck --full'报告“致命:对象03ca4 ...已损坏”。我该怎么办? 编辑:亲爱的,亲爱的。我签出了另一个分支,然后尝试使用'git checkout -b lostbranchname'重新创建具有相同名称的原始分支,并且git说“错误:无法解析引用refs / heads / lostbranchname:无错误,致命:失败锁定参考以进行更新:没有错误”。“无错误”必须是特别讨厌的错误。因此,看起来它仍在徘徊,但无法使用且无法杀死。 编辑:超级骗子哦亲爱的。我已经按照这里的建议进行了许多拆包,重新包装和替换工作:如何恢复由于硬盘故障而损坏的Git对象?,但现在我又收到另一个哈希已报告为已损坏的哈希表,其含义与“ git status”一样无害。我认为整个事情都在进行。Git非常可爱,但我不必处理这种事情。
102 git 

14
在.Net dll中嵌入git commit哈希
我正在使用Cit作为版本控制来构建C#应用程序。 构建应用程序时,有没有一种方法可以自动将最后一个提交哈希值嵌入可执行文件中? 例如,将提交哈希打印到控制台将类似于: class PrintCommitHash { private String lastCommitHash = ?? // What do I put here? static void Main(string[] args) { // Display the version number: System.Console.WriteLine(lastCommitHash ); } } 注意,这必须在构建时而不是运行时完成,因为我部署的可执行文件将无法访问git repo。 有关C ++的相关问题,请参见此处。 编辑 根据@mattanja的请求,我发布了我在项目中使用的git hook脚本。设置: 挂钩是Linux Shell脚本,位于以下位置:path_to_project \ .git \ hooks 如果您使用的是msysgit,则hooks文件夹已经包含一些示例脚本。为了让git调用它们,请从脚本名称中删除扩展名“ .sample”。 挂钩脚本的名称与调用它们的事件相匹配。就我而言,我修改了post-commit和post-merge。 我的AssemblyInfo.cs文件直接位于项目路径下(与.git文件夹相同级别)。它包含23行,我使用git生成第24行。 由于我的linux shell有点生锈,该脚本只是将AssemblyInfo.cs的前23行读取到一个临时文件,将git …
102 c#  git 

2
为什么git AuthorDate与CommitDate不同?
我查找了我的git日志,发现对于某些提交,AuthorDate和CommitDate略有不同: commit 3a5912f90dc5227f308e99f95152fbee2301c59a Author: <hidden> AuthorDate: Fri Jun 15 10:57:22 2012 +0800 Commit: <hidden> CommitDate: Fri Jun 15 11:14:37 2012 +0800 作者和提交与我相同。 这是怎么发生的?我好几天都感到困惑。 还有更多(在341次提交中有17次发生): +------------------------------+-------------------------------+ | from_unixtime(authored_date) | from_unixtime(committed_date) | +------------------------------+-------------------------------+ | 2012-06-15 10:57:22 | 2012-06-15 11:14:37 | | 2012-06-15 14:39:54 | 2012-06-15 14:48:57 | | 2012-06-19 12:28:21 | 2012-06-19 …
102 git 

2
从分支中提取所有提交,将指定的提交推送到另一个
我有以下分支: master production 和以下远程分支: origin/master origin/production 我有一个脚本来提取origin/master分支,并获取与上次提取(log -p master..origin/master)所做更改相比的差异。然后我合并origin/master。 找到的提交将推送到代码审查工具。 我想将成功的提交(只有它们)推送到生产部门,然后再推送到origin/production。 我该怎么办? 另外,我有两个正在运行的脚本:一个从中获取origin/master,push将详细信息提交到数据库并进行合并的脚本,而我当前正在编写的另一个脚本将必须成功提交的脚本。 我想在避免竞争条件/合并冲突的同时运行这两个脚本。由于我只想使用指定的提交,也许有一种方法可以摆脱我不想要的提交?
102 git  branch 

8
为什么在提交Git之前要登台?
我是版本控制的新手,我了解“提交”实际上是在更新您正在使用的新“当前”版本时创建备份。 从实际的角度来看,我不了解分期进行。分期是仅以名称存在还是有目的?当您提交时,它仍然会提交所有内容,对吗? 编辑:我想我可能会混淆术语。“暂存”文件与“跟踪”文件是否相同?
102 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.