Questions tagged «git»

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

4
强制git stash覆盖添加的文件
我有一些在git中未跟踪的文件。我进行了一些更改并想提交它们,但意识到我忘记了首先检入未修改的文件。所以我藏了文件,然后添加了未修改的版本。 然后,当我将存储空间应用于存储库时,由于已经添加了文件,因此发生冲突。 如何应用存储,并强制使用存储中的版本优先于存储库中的原始版本? 谢谢
223 git 

18
(Mac)-bash:__git_ps1:找不到命令
我正在尝试在终端中更改命令提示符。我不断收到错误: -bash: __git_ps1: command not found 我已经尝试过,只需在终端中按原样输入:__git_ps1。我也已经在.bash_profile if [ -f ~/.git-completion.bash ]; then source ~/.git-completion.bash export PS1='[\W]$(__git_ps1 "(%s)"): ' fi 您可能会看到/告诉,是的,我确实安装了自动完成功能,并且效果很好! 我遇到了这个问题:“ PS1 env变量在Mac上不起作用 ”,它给出了代码 alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'" 因此,我将其添加到我.bash_profile希望它会有所改变的地方。好吧,它做到了。它只是更改了错误输出。 这是.bash_profile附加的: alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'" if …
222 macos  git  terminal  ps1 

5
在Git分支名称中使用斜杠字符
我很确定我在一个受欢迎的Git项目中的某个地方看到分支的模式类似于“ feature / xyz”。 但是,当我尝试使用斜杠字符创建分支时,出现错误: $ git branch labs/feature error: unable to resolve reference refs/heads/labs/feature: Not a directory fatal: Failed to lock ref for update: Not a directory 同样的问题(我最初的尝试): $ git checkout -b labs/feature 如何在Git中使用斜杠字符创建分支?
222 git  branch 

23
git status显示修改,git checkout — <file>不会删除它们
我想删除对我的工作副本的所有更改。 正在运行git status显示已修改的文件。 我似乎并没有删除这些修改。 例如: rbellamy@PROMETHEUS /d/Development/rhino-etl (master) $ git status # On branch master # Changed but not updated: # (use "git add &lt;file&gt;..." to update what will be committed) # (use "git checkout -- &lt;file&gt;..." to discard changes in working directory) # # modified: Rhino.Etl.Core/Enumerables/CachingEnumerable.cs # modified: Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs …

9
我过去如何进行Git提交?
我将所有内容都转换为Git供个人使用,并且我已经在存储库中找到文件的一些旧版本。如何根据文件的“修改日期”以正确的顺序将其提交到历史记录中,以便获得准确的文件历史记录? 有人告诉我这样的方法会起作用: git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all

5
如何使用git只暂存新文件的一部分?
我喜欢 git add --interactive。现在,它已成为我日常工作流程的一部分。 该问题似乎不适用于未跟踪的文件。我想做的是跟踪一个新文件,但仅添加其中的一部分,即该新文件的某些部分尚未准备就绪。 例如,使用git add -i,我可以选择patch选项,甚至编辑各个块,以暂存新代码的某些部分,而使调试代码注释未暂存。我喜欢以这种方式工作,因为它使我目前正在工作的大型补丁程序的哪些位置仍很明显仍需要工作。 不幸的是,我似乎无法对未跟踪的文件执行相同的操作。我要么登台整个文件,要么什么都没有。我一直在使用的解决方法是暂存或什至在文件为空时提交新文件,然后以通常的方式暂存单个更改。但是,这种解决方案感觉就像是一个肮脏的hack,当我忘记或改变主意时,它会带来更多的麻烦。 因此,问题是:如何仅暂存新文件的一部分,以便跟踪此新文件,但不暂存其全部或部分内容?
221 git 



7
行尾转换如何在不同操作系统之间与git core.autocrlf一起使用
我已经阅读了关于Stack Overflow的许多不同的问题和答案,以及有关core.autocrlf设置如何工作的git文档。 根据我的阅读,这是我的理解: Unix和Mac OSX(OSX之前的版本使用CR)客户端使用LF行尾。 Windows客户端使用CRLF行尾。 当在客户端上将core.autocrlf设置为true时,git存储库将始终以LF行尾格式存储文件,并且在客户端上(例如Windows)使用非-LF行尾,无论客户端上行尾文件的格式如何(这与Tim Clem的定义不同-请参阅下面的更新)。 这是一个矩阵,试图对core.autocrlf的'input'和'false'设置进行记录,并带有问号,但我不确定行尾转换行为。 我的问题是: 问号应该是什么? 这个矩阵对“非问号”是否正确? 随着共识的形成,我将从答案中更新问号。 core.autocrlf值 真输入假 -------------------------------------------------- -------- 提交| 兑换 ?? 新 转换为LF(转换为LF?)(不转换?) 提交| 转换成 ?没有 现有 LF(转换为LF?)转换 结帐| 转换成 ?没有 现有 CRLF(无转换?)转换 我并不是真的在寻求有关各种设置的优缺点的意见。我只是在寻找可以使git如何在这三个设置中运行的数据清楚。 - 更新04/17/2012:在阅读了 JJD链接的Tim Clem的文章后,我修改了上表中“未知”值中的某些值,以及更改了“ checkout existing | true”以进行转换而不是转换为客户端”。这是他给出的定义,这些定义比我在其他地方看到的任何定义都更清楚: core.autocrlf =假 这是默认设置,但建议大多数人立即更改此设置。使用false的结果是Git永远不会弄乱文件的行尾。您可以使用LF或CRLF或CR或这三者的某种随机组合来检入文件,而Git不在乎。这会使差异变得难以阅读,合并变得更加困难。在Unix / Linux世界中工作的大多数人都使用此值,因为他们没有CRLF问题,并且无论何时将文件写入对象数据库或写入工作目录中,都不需要Git进行额外的工作。 core.autocrlf =真 这意味着Git将处理所有文本文件,并确保在将文件写入对象数据库时将CRLF替换为LF,并在写入工作目录时将所有LF转换回CRLF。这是Windows上的建议设置,因为它可以确保您的存储库可以在其他平台上使用,同时将CRLF保留在工作目录中。 core.autocrlf …

16
使git在提交前自动删除尾随空格
我正在与团队一起使用git,并希望从差异,日志,合并等中删除空格更改。我假设最简单的方法是让git自动删除结尾的空格(以及其他空格错误) )中的所有提交。 我试图将以下内容添加到~/.gitconfig文件中,但是在提交时它什么也没做。也许它是为不同的东西而设计的。有什么解决办法? [core] whitespace = trailing-space,space-before-tab [apply] whitespace = fix 如果有人对红宝石有任何特定想法,我会使用红宝石。下一步是提交之前自动进行代码格式化,但这是一个难题,并且不会真正引起大问题。
220 git  whitespace  githooks 



21
从存储库检索单个文件
从远程git存储库中获取单个文件的内容的最有效的机制是什么(相对于所传输的数据和所使用的磁盘空间)? 到目前为止,我已经设法提出了: git clone --no-checkout --depth 1 git@github.com:foo/bar.git &amp;&amp; cd bar &amp;&amp; git show HEAD:path/to/file.txt 这似乎仍然过高。 从仓库中获取多个文件呢?

16
Git错误:连接到远程存储库时,“主机密钥验证失败”
我试图连接到位于我的Web服务器上的远程Git存储库,并将其克隆到我的机器上。 我的命令使用以下格式: git clone ssh://username@domain.com/repository.git 这对我的大多数团队成员来说都很好。通常,在运行此命令后,Git将提示您输入用户密码,然后运行克隆。但是,在我的一台计算机上运行时,出现以下错误: 主机密钥验证失败。 致命:无法从远程存储库读取。 我们没有使用SSH密钥连接到该存储库,所以我不确定为什么Git在此特定机器上检查一个。
220 git  ssh  ssh-keys 


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.