草庐IT

git - 将 Git 子模块设置为浅克隆和稀疏 checkout ?

许多供应商的Objective-C库(例如,facebook-ios-sdk)指示您将其repo文件/目录的特定子集复制到您的Xcode项目中。这样做的一个问题是您不知道您拥有的供应商代码的修订版本。另一个是,如果您对供应商代码进行了更改,则很难通过Git贡献您的更改。作为解决方案,我想将每个供应商库添加为我的项目存储库的Git子模块,并添加一些额外的设置(例如,在.gitmodules文件中)。这样,如果另一个人克隆我的项目并执行gitsubmoduleupdate--init,他们的repo和子模块将具有与我相同的状态,因为他们将使用我设置的相同默认设置:稀疏checkout:只c

git - 如何撤消 git update-index?

我只是做了以下操作,以便在我的本地主机和我的生产环境中保留我的config.php文件的不同副本:$gitupdate-index--assume-unchangedapplication/config/config.php不幸的是,我没有完全按照我应该的方式编写config.php文件,我需要反转它,以便我可以进行更改、提交,然后重新忽略该文件。如何撤消gitupdate-index命令? 最佳答案 gitupdate-index--no-assume-unchangedapplication/config/config.php注

git - 如何撤消 git update-index?

我只是做了以下操作,以便在我的本地主机和我的生产环境中保留我的config.php文件的不同副本:$gitupdate-index--assume-unchangedapplication/config/config.php不幸的是,我没有完全按照我应该的方式编写config.php文件,我需要反转它,以便我可以进行更改、提交,然后重新忽略该文件。如何撤消gitupdate-index命令? 最佳答案 gitupdate-index--no-assume-unchangedapplication/config/config.php注

git - 相当于SourceTree中的 "git update-index --assume-unchanged"

到目前为止,我在填写数据库密码后在数据库配置文件上使用了gitupdate-index--assume-unchanged,因为我不想让我的数据库密码进入公共(public)代码存储库。现在我想尝试使用SourceTree一段时间,但我找不到对它执行相同操作的方法:该文件应保留在存储库中,但我只希望SourceTree在我的工作中忽略对该文件的更改复制。 最佳答案 我刚刚为此任务定义了自定义操作。确保git的路径是正确的。感谢@RobCroll的评论,我们现在有了Windows版本:C:\ProgramFiles(x86)\Git\

git - 相当于SourceTree中的 "git update-index --assume-unchanged"

到目前为止,我在填写数据库密码后在数据库配置文件上使用了gitupdate-index--assume-unchanged,因为我不想让我的数据库密码进入公共(public)代码存储库。现在我想尝试使用SourceTree一段时间,但我找不到对它执行相同操作的方法:该文件应保留在存储库中,但我只希望SourceTree在我的工作中忽略对该文件的更改复制。 最佳答案 我刚刚为此任务定义了自定义操作。确保git的路径是正确的。感谢@RobCroll的评论,我们现在有了Windows版本:C:\ProgramFiles(x86)\Git\

git - 当 git 说 "forced update"时,人们可能会在什么地方丢失东西?

我最近在一个只有我提交的存储库上收到来自git的“强制更新”警告。我没有做过任何重新定位,所以我不知道为什么会这样。我想知道的是,我应该在哪里寻找可能丢失的更改?为了说明,假设存储库有三个副本,L、D和S(笔记本电脑、台式机、服务器)。首先,所有三个存储库都是同步的。然后在D上完成工作并推送到S。然后L运行gitpull并获得“强制更新”。这是否意味着对L所做的更改已被覆盖,或者它们在其他地方?我怎样才能找到它们?谢谢。 最佳答案 “强制更新”意味着远程跟踪分支是最近的。如果您在有人强制推送到存储库后获取(或pull),就会发生这种

git - 当 git 说 "forced update"时,人们可能会在什么地方丢失东西?

我最近在一个只有我提交的存储库上收到来自git的“强制更新”警告。我没有做过任何重新定位,所以我不知道为什么会这样。我想知道的是,我应该在哪里寻找可能丢失的更改?为了说明,假设存储库有三个副本,L、D和S(笔记本电脑、台式机、服务器)。首先,所有三个存储库都是同步的。然后在D上完成工作并推送到S。然后L运行gitpull并获得“强制更新”。这是否意味着对L所做的更改已被覆盖,或者它们在其他地方?我怎样才能找到它们?谢谢。 最佳答案 “强制更新”意味着远程跟踪分支是最近的。如果您在有人强制推送到存储库后获取(或pull),就会发生这种

git - 'git pull' 命令像 'svn update' 一样工作?

我正在使用“git”按照此文档检查chromium代码:http://code.google.com/p/chromium/wiki/UsingGit它说'运行gitpull或任何适合更新checkout的命令。'.但我遇到的问题是当我在我的git工作目录中进行本地更改时然后我运行“gitpull”。它说像XXX文件无法更新(我在本地进行了更改)。我通过删除我的更改“gitcheckout--XXX.cpp”强制“gitpull”工作有没有办法让“gitpull”在可能的情况下自动merge(等效于svn更新)?谢谢。 最佳答案 如

git - 'git pull' 命令像 'svn update' 一样工作?

我正在使用“git”按照此文档检查chromium代码:http://code.google.com/p/chromium/wiki/UsingGit它说'运行gitpull或任何适合更新checkout的命令。'.但我遇到的问题是当我在我的git工作目录中进行本地更改时然后我运行“gitpull”。它说像XXX文件无法更新(我在本地进行了更改)。我通过删除我的更改“gitcheckout--XXX.cpp”强制“gitpull”工作有没有办法让“gitpull”在可能的情况下自动merge(等效于svn更新)?谢谢。 最佳答案 如

git submodule update --remote vs git pull

运行有什么区别gitsubmoduleupdate--remote对比cdgitpull假设子模块之前设置为跟踪某个分支:gitsubmoduleadd-bmaster[URLtoGitrepo] 最佳答案 区别在于:gitpull只会更新您的子模块分支,但它可以是您可以在该子模块仓库中checkout的任何分支。gitsubmoduleupdate--remote只会更新在.gitmodule中注册的分支,默认情况下,你最终会得到一个分离的HEAD,除非--rebase或--merge被指定或关键字submodule.$name.