草庐IT

hard-copy

全部标签

git rebase : copy instead of moving

我的分支是:o---osupport.2013.16\o---o---o---o---omaster\o---o---ohotfix/A我需要将hotfix/A复制到support.2013.16。我知道cherry-pick,但是否可以做类似的事情gitrebase--ontosupport.2013.16masterhotfix/A但没有移动分支而是复制它? 最佳答案 Gitrebase确实会将原始分支复制到新分支;但是因为它移动了分支头,所以感觉更像是一个移动而不是一个副本。如果您使用gitbranch向原始分支添加一个额外的

ios - 在 git 版本控制下添加项目时在 Xcode 中出现 "Share working copy?"

我有一个使用git进行版本控制的项目。我从GitHub克隆了一个库来使用(也可能使用git)。我将下载的项目的.xcodeproj文件添加到我自己的项目中,并得到了这个对话框:Shareworkingcopy?Aworkingcopythathasnotbeensharedhasbeenaddedtothisworkspace.ChooseYestoaddthisworkingcopytotheWorkspaceSourceControlData.如果我选择"is"或“否”会怎样?这种情况我应该选择哪个? 最佳答案 我尝试通过两种方

iphone - Xcode 和 Git 源代码管理 : “The working copy XXXXX failed to commit files”

我使用Xcode开发和发布应用程序已经将近一年了。我一直使用git作为本地存储库,使用bitbucket作为远程存储库。直到今天早上一切都很好。我现在收到一个错误'工作副本“xxx”未能提交文件。请告诉我你是谁。”Xcode然后建议我运行gitconfig并给它一个电子邮件地址和名称。我不知道为什么它突然需要知道我是谁。我不知道它以前以为我是谁,我不希望它变得比现在更困惑。我没有在Mac上使用命令提示符做任何事情,所以我不确定它希望我在哪里输入此信息。我依稀记得一年前看到过关于使用命令提示符设置bitbucket的建议,但它们看起来很困惑,所以我从xcodeGUI中完成了所有操作。这是

git - 使用 git reset --hard 后无法推送更改

我犯了一个错误,向git提交了一些我不应该提交的更改。在我提交之后,我推送了我的更改。然后我使用以下命令尝试重置我的更改。gitreset--hardhead现在我想使用此命令将此“重置”推送到远程存储库:gitpushMyBranch但是我收到了这个错误:remote:error:denyingnon-fast-forwardrefs/heads/branch(youshouldpullfirst)我尝试使用这个命令但没有成功:gitpush-f"origin"知道我能做什么吗? 最佳答案 gitpush-foriginmyBra

git - "git reset --hard hash"和 "git checkout hash"之间有区别吗?

虽然reset和checkout大多数时候有不同的用法,但我看不出这两者之间有什么区别。可能有人或没有人愿意添加一个--hard选项来做一些基本的checkout可以做的事情。也许您看待历史的方式有所不同? 最佳答案 这个答案主要引用self对上一个问题的回答:gitresetinplainenglish.两者有很大的不同。它们会为您的索引和工作树生成相同的状态,但生成的历史记录和当前分支并不相同。假设您的历史记录如下所示,当前已checkoutmaster分支:-A-B-C(HEAD,master)然后你运行gitreset--h

git - "git checkout -f"和 "git reset --hard HEAD"有什么区别?

我需要恢复部署的本地更改。(在旧的skoolSVN时代,我曾为此使用过svnrevert。)我为此使用了gitreset--hardHEAD。(还有gitfetch和gitmergeorigin/$branch--no-ff用于与上游分支同步。)但有些文章指出gitcheckout-f用于恢复更改。这些命令之间的主要区别是什么。推荐哪种方式? 最佳答案 两者的效果完全一样。我建议您选择您最满意的解决方案。但是如果在这种特殊情况下效果是一样的,不同的值就会完全不同。基本上(还有更多,请参阅链接主题)通过重置将当前分支和HEAD移动到特

git - 使用暂存区中未提交的文件撤消 git reset --hard

我正在努力恢复我的工作。我愚蠢地执行了gitreset--hard,但在此之前我只执行了getadd.而没有执行gitcommit。请帮忙!这是我的日志:MacBookPro:apiuser$gitstatus#Onbranchmaster#Changestobecommitted:#(use"gitresetHEAD..."tounstage)#modified:.gitignore...MacBookPro:apiuser$gitreset--hardHEADisnowatff546faaddednewstrucutureforapi在这种情况下是否可以撤消gitreset--ha

Git reset --hard 并推送到远程仓库

我有一个存储库,上面有一些错误的提交(本例中为D、E和F)。A-B-C-D-E-Fmasterandorigin/master我专门使用gitreset--hard修改了本地存储库。我在重置之前选择了一个分支,所以现在我有一个看起来像这样的repo协议(protocol):A-B-Cmaster\D-E-Fold_masterA-B-C-D-E-Forigin/master现在我需要那些错误提交的一些部分,所以我挑选了我需要的部分并做了一些新的提交,所以现在我在本地有以下内容:A-B-C-G-Hmaster\D-E-Fold_master现在我想将这种情况推送到远程仓库。但是,当我尝试

git - git reset --hard 后留下的未暂存更改

在gitreset--hard之后,gitstatus为我提供了Changesnotstagedforcommit:部分中的文件。我也试过gitreset.,gitcheckout--.和gitcheckout-index-f-a,没有有用。那么,我怎样才能摆脱那些未暂存的更改呢?这似乎只针对VisualStudio项目文件。诡异的。看到这个贴:http://pastebin.com/eFZwPn9Z.这些文件的特别之处在于.gitattributes我有:*.slneol=crlf*.vcprojeol=crlf*.vcxproj*eol=crlf此外,autocrlf在我的全局.g

git - git reset --mixed、--soft 和 --hard 之间有什么区别?

我想拆分一个提交,但不确定要使用哪个重置选项。我正在查看页面InplainEnglish,whatdoes"gitreset"do?,但我意识到我并不真正理解git索引或暂存区是什么,因此解释没有帮助。此外,--mixed和--soft的用例在我看来在那个答案中是一样的(当你想修复并重新提交时)。有人可以进一步分解吗?我意识到--mixed可能是一个不错的选择,但我想知道为什么。最后,--hard呢?谁能给我一个工作流程示例,说明如何选择这3个选项? 最佳答案 当您修改存储库中的文件时,更改最初是未暂存的。为了提交它,您必须使用gi