如何在本地repo中切换android版本?
我已经下载了以下命令的整个工作树: repo init -u https://android.googlesource.com/platform/manifest repo sync -j8 成功同步后,我想将工作树切换为Android 2.3.7. 您会看到我在" repo Init"时没有指定使用" -b"参数的分支. 因此,我想所有标签信息都应下载,我可以轻松地切换到Android 2.3.7,并具有以下命令: repo forall -c git checkout android-2.3.7_r1 但会产生许多错误: error: pathspec 'android-2.3.7_r1' did not match any file(s) known to git. 那么,如何在没有" repo init -b android -2.3.7_r1"和" repo sync"的情况下切换到Android 2.3.7? 解决方案 您无法使用repo
2 2024-01-30
编程技术问答社区
如何使用Git别名启动Bash函数
我想在〜/.gitConfig中使用git别名,以便它调用bash函数,如果定义了bash函数,否则调用常规git checkout. 这就是我所设计的: cat ~/.gitconfig ... [alias] ... co = !(compgen -A function vxzExecuteGitCheckout >/dev/null && vxzExecuteGitCheckout ) || git checkout 问题是Git使用/bin/sh(在我的情况下是dash),并且在compgen上使用它,因为它是bash indentin. 以任何方式确保git使用bash执行此命令? 请注意,vxzExecuteGitCheckout()是在〜/.bashrc中未包含的文件中定义的. 另一个问题是,如果我要使用git co -b param1 param2 ...,上述别名定义是否会通过-b param1 param2> git chec
2 2024-01-23
编程技术问答社区
为Git分支名称创建别名
假设我在git中有以下分支: master release-2014-11-02-some-long-text 我想轻松地切换到这样,例如: git checkout devel # checkout to master git checkout release # checkout to the branch release currently points/aliases to, in this case: release-2014-11-02-some-long-text (I would like to change this alias from time to time) 我该怎么做? 解决方案 您可以尝试使用 git symbolic-ref (如前所述" 是否可以在git中脱颖而出?"): git symbolic-ref refs/heads/devel refs/heads/master git symbolic-ref r
2 2024-01-23
编程技术问答社区
git checkout导致修改的文件不能被添加
i git clone我的回购和git status显示一切都很好(为了更好地表达)aka aka no更改,等等. 然后 git add .绝对没有任何更改git status,我在上述过程中没有对文件进行任何更改. 该文件不忽略. [update] 我尝试了git add ,git status已从修改后变为修改后的修改后,如posh git状态所示: modified conflicted +0 ~1 -0 ! modified modified +0 ~1 -0 ~ 我不明白的是如何解决这个问题. git add .,git push --force和git push --force对状态无关. 解决方案 事实证明,一个人在主上使用文件名NuGet.config命令文件,而另一个人则使用文件名NuGet.Config命令同一文件.我已经解决了远程存储浏览器上的冲突,一切都很好.
2 2024-01-19
编程技术问答社区
git checkout error: unable to create file
在从Linux到Windows系统的GIT存储库时,我在结帐阶段中遇到以下错误: $ git克隆gituser@serveraddr:/git/git_repo.git git_wa 克隆到" git_wa" ... gituser@serveraddr的密码: 远程:计数对象:500846,完成. 远程:压缩对象:100%(118676/118676),完成. 遥控器:总计500846(Delta 307739),重复使用483023(Delta 291136) 接收对象:100%(500846/500846),907.54 MIB | 9.04 MIB/S,完成. 解决三角洲:100%(307739/307739),完成. 错误:无法创建文件理论************************************************* ****************************************************** ***
6 2023-12-05
编程技术问答社区
有办法在git checkout中使用通配符吗?
我想做的是结帐单个文件或一组具有像这样的通用零件的文件 git checkout myBranch */myFile.md和 git checkout myBranch -- */*Test*(不确定' - '部分) 而不是 git checkout myBranch src/main/java/a/deep/package/structure/myFile.md和 git checkout myBranch src/test/java/a/deep/package/structure/TestOne.java git checkout myBranch src/test/java/a/deep/package/structure/TestTwo.java git checkout myBranch src/test/java/a/deep/package/structure/resources/TestData.sql 我知道某些git命令(例如
2 2023-12-04
编程技术问答社区
git命令结帐任何分支并覆盖本地更改
是否有一个git命令(或一小段命令序列)可以安全可肯定地执行以下操作? 摆脱任何当地变化. 如有必要,从原始分支中获取给定的分支 结帐给定的分支? 目前我一直坚持: git fetch -p git stash git stash drop git checkout $branch git pull ,但这很困扰我,因为我被要求提供两次密码(fetch和pull). 通常,只要只需要一次密码,我就会对任何解决方案感到满意. 几个注释: 它是应用程序的自制部署脚本的一部分(该代码在GitHub上托管). 应该没有区别,分支是否已经从原始角度获取(即新分支的第一次部署理想情况下不应需要任何其他步骤). 该脚本位于几个人可以访问的远程计算机上,因此不存储凭据,必须输入用户/密码(但如果可能的话,只有一次). 我不在乎任何当地变化;我总是想要给定分支的原始副本(部署脚本的另一部分会产生本地更改). 我不能每次都克隆或导出新的存储库;这需要太多时间.
4 2023-11-30
编程技术问答社区
Visual Studio 2015的Git错误信息 "无法拉动/切换,因为有未提交的更改"
我很难从origin中进行拉动.我不断得到: "由于没有任何更改,因此无法拉动.提交或撤消您的更改,然后再拉动.有关详细信息,请参见输出窗口." 这也适用于切换分支.我收到类似的消息,但这并不总是发生. 我正在使用Visual Studio 2015 Update 1和Visual Studio Team Services Git.在我的机器上,我有一个本地master分支和开发分支.每次我切换到master,然后进行拉动,我都会收到错误消息.我求助于藏匿并丢下藏匿处(命令行),有时我会使用 tortoisegit 拉力和起作用. 即使我尝试使用Tortoisegit恢复(在不承诺的文件上),这很奇怪,它表明它已经成功地恢复了(我已经尝试了Visual Studio撤消,什么也不会发生).试图再次拉动,这仍然是同样的问题.未投入的文件将在那里,有时当我做git status时,它说没有什么可以提交的. 只是注意:即使从分支切换到master之后,这也可能发生
10 2023-11-24
编程技术问答社区
git checkout到一个分支需要很长时间
我在Ubuntu 17.10上,我正在使用git(版本2.14.1).每当我创建一个从主人那里创建一个分支并尝试检查它(或从中的主人)时,大约需要大约几分钟,有时将近10分钟.的确,我有几个GB的数据,但据我了解,整个数据实际上并没有复制,而仅保存了更改.那背后的问题可能是什么呢? 解决方案 虽然Git 2.20和2.21改进git checkout性能(请参阅下一节),因为GIT 2.23(2019年8月),您应该使用 git switch而不是. git 2.24(Q4 2019)git switch获得了性能hack. 并且 do 对OP使用的git checkout -b有效. 参见 commit ://github.com/derrickstolee" rel =" nofollow noreferrer"> derrick Stolee(derrickstolee). (由 junio c hamano- gitster - //github.com/
2 2023-11-18
编程技术问答社区
Git--当你改变分支时,文件会去哪里?
才刚刚开始了解git,我喜欢它的概念.到目前为止,有一件事对我来说有些怪异,以至于我似乎在搜索中找不到.当我键入git checkout branchName以更改为我想要的任何分支时,当我查看Finder窗口时,我可以根据我在哪个分支中观看文件/文件夹在存储库中出现或消失. 下面的2张图片展示了我在一个分支中的方式,然后转到另一个分支(这是从进行Lynda.com课程中).左侧显示了查找器以及文件夹如何消失,因为它不存在于另一个分支中. 但是它到底在哪里(还有其他更改的文件)?从我在这里看到的东西,我无法一次从不同的分支中查看文件,但是我很好奇它们在更改分支时实际上在系统中的位置. 解决方案 从我在这里看到的东西,我一次无法从不同的分支中进行物理查看文件,但是我很好奇它们在更改分支时实际上在系统中的位置. 是的,您可以做 您只需要遵循以下内容: git在2007年以名称git workdir揭露了此功能.它位于GIT贡献文件夹下很多年.
0 2023-11-18
编程技术问答社区
有没有一种方法可以引用当前分离的HEAD的子提交?
我知道如何将父母提交为HEAD^. 但是是否可以以类似的方式参考孩子提交? 解决方案 答案既是否,又是是,或者"这个问题没有意义",具体取决于您的意思. 您的问题是指"当前独立头部的孩子承诺".这就是为什么问题没有意义的原因,至少没有其他信息. AS 蒂姆·比格莱森(Tim Biegeleisen)在评论中指出,当您按分支名称查看时,这会使您进入分支机构的 tip .从定义上讲,这是git中发生的,因为git与大多数版本控制系统不同.在git中,术语"分支"有些模棱两可:我们有分支 name ,其定义为"指向该分支的提示的标签",我们有 branch-和合并结构(我喜欢称为" daglets").请参阅"分支"到底是什么意思?有关此的更多信息.但是,所有这一切的关键结果是,在一个以上的分支上,提交通常是 . . 缺少信息 当您指向提交DAG中某个地方的某个犯罪事件时,您询问了孩子的提交时,您会做出假设.具体来说,您是假设特定分支或一组分支.要查看其工作
6 2023-11-18
编程技术问答社区
Git开发-测试-生产分支流程
我在此过程中很有趣: 首先,我想在我的发展分支中做任何东西,而不是应将其推入进行测试(Master)分支,因此,生产. 对我来说,过程: init commits 然后,从主init commit commit 制作产品分支 然后,从Master Init Commit 制作开发分支 结帐到Dev Branch 然后,做任何 然后,提交 然后,结帐给主 然后,与dev 合并 做测试 然后,提交 然后,结帐 然后,与主人合并 这是使用这种方式的正确方法吗?如果没有,请说明正确的过程. 非常感谢 解决方案 您正在寻找类似于 git Flow Workflow . 在以下帖子中阅读所有有关 Vincent Driessen 的信息 其他解决方案 如果您没有的话,那就可以并行开发. 如果您需要集成并说所述功能,则 gitworkflow(一个单词)是一个更好的合适. 主要优点是您可以合并多个功能分支
4 2023-11-18
编程技术问答社区
GIT多个本地签出
我想在同一计算机(Linux和Windows)上查看同一GIT重新播放的多个分支.但是,由于存储库可能很大,因此我更希望拥有一个存储库一次,并且只有多个工作目录. 这可能吗? 如何这样? 解决方案 可能是因为Git 2.5及其git worktree命令. 它替换了一个旧的脚本contrib/workdir/git-new-workdir,它具有更强大的机制,其中这些"链接"工作的树实际记录在主仓库new new $GIT_DIR/worktrees文件夹中(以便在任何操作系统(包括Windows)上工作). 一旦将仓库克隆(在/path/to/myrepo之类的文件夹中),您可以在不同的独立路径(/path/to/br1,/path/to/br2)中添加工作室,同时链接到主要回购历史记录的工作树(不需要再使用--git-dir选项) 请参阅" 带有git的多个工作目录?"
2 2023-11-18
编程技术问答社区
Git: 如何签出所有被删除的文件?
在git中,我熟悉如何查看使用git checkout -- [...]语法删除的单个文件(当您执行git status>. 时建议使用. 要获取所有可以创建列表的文件,并将列表作为参数提供给上述命令. 但是,当您只需要删除的所有文件(即CWD中的RM -RF,然后您要还原所有文件)生成该列表的所有文件都不是. 您如何结帐所有已删除的文件? 解决方案 生成列表不是 hard: git diff --no-renames --name-only --diff-filter=D 使其适用于git checkout,使用-z和xargs -0: git diff --no-renames --name-only --diff-filter=D -z | xargs -0 git checkout -- 请注意,使用git checkout -f -- .与上述完全不同,因为git checkout -f -- .将覆盖已修改
0 2023-11-18
编程技术问答社区
如何在git中切换到另一个分支?
以下哪一条是正确的? git checkout 'another_branch' 或 git checkout origin 'another_branch' 或 git checkout origin/'another_branch' 它们有什么区别? 解决方案 如果another_branch已经存在本地,而您不在该分支上,则git checkout another_branch切换到分支. 如果another_branch不存在,但是origin/another_branch则相当于git checkout -b another_branch origin/another_branch; git branch -u origin/another_branch.那就是从origin/another_branch中创建another_branch,而set origin/another_branch作为another_branch的上游.
20 2023-11-18
编程技术问答社区
我怎样才能在签出一个分支的同时,确保我当前分支的任何改动都不会被转过来?
我想要开关分支,并具有git 始终设置工作目录内容,以反映我要切换到的分支的状态.我正在体验这里所说的行为 ** 这似乎与这里所说的 https://https://wwww . 在某些情况下,我不希望git做出决定 - 我只希望git使工作目录与新分支的状态相匹配. 但是,,我不想失去任何更改.我愿意事先提交或藏匿. 可能吗? 解决方案 不承诺的更改保留在您的工作室或索引中,直到您告诉git在哪里提交. git add,git checkout和git reset都有--patch选项.工作流程是,按照需要进行的操作,并在需要录制的地方记录它是单独的任务.通常,您会发现自己有效地进行了bug固定,在那里您发现一个完整的烂摊子 通常我 左右,问题是在做工作,并做文书工作,但是您直接盯着工作,确切地知道需要做什么. git方法 1 是,做到这一点.在您的工作室中使一切正确(这可能涉及一些探索性分支本身) 然后构建您的提交系列,如果您确切地知道自己一直在做什
0 2023-11-18
编程技术问答社区
我如何重置或恢复一个文件到一个特定的修订版?
如何在特定的提交哈希(我通过 git log 和 git diff )? 解决方案 假设您想要的提交的哈希是c5f567: git checkout c5f567 -- file1/to/restore file2/to/restore git Checkout Man Page提供了更多信息. 如果您想在c5f567之前恢复订单,请附加~1(其中1是您要返回的提交数量,可以是任何东西): git checkout c5f567~1 -- file1/to/restore file2/to/restore 作为旁注,我一直对此命令感到不舒服,因为它用于普通事物(分支之间的变化)和不寻常的破坏性事物(丢弃工作目录中的变化). 有关--在命令中的含义,请参阅 in Git中,--(dash dash)是什么意思? 还有一个新的 git restore git restore 命令专门设计用于还原工作复制已修改的文件.如果您的git足够新,您可以使
4 2023-11-18
编程技术问答社区
如何在git checkout中使用八进制字符?
我有我的音乐文件的git回购,我最近发现有些已删除. 我想我不小心删除了它们,但是现在我对我有远见的事实太夸张了 使用git仓库,因此我当前的git状态验证了它们已被删除.这是一些列表: # deleted: Steve_Erquiaga-Cafe_Paradiso/03 - Arioso__J.S._Bach_.flac # deleted: "Steve_Erquiaga-Cafe_Paradiso/04 - S\303\203\302\251r\303\203\302\251nade__Rachmaninov__from_Moreaux_de_fantasie.flac" # deleted: "Steve_Erquiaga-Cafe_Paradiso/05 - After_a_Dream__Faure___Apr\303\203\302\250s_Une_R\303\203\302\252ve_.flac" # deleted: Steve_Erquiaga-Cafe_
4 2023-11-12
编程技术问答社区
更新**不**的当前分支(在Git中)。
所以我在分支feature.我想重新置w/branch master. git rebase master 说feature分支是最新的.当然,这是因为master分支没有改变 - 它与我从中创建feature分支的时刻相同. 实际上不是.我只需要拉动master分支. git checkout master git pull git checkout feature 我的问题:我不能更新master分支,n o n ew ot to to and oft? 我尝试了feature分支: git pull origin master master ...但是它更新了feature分支(不是我想要的),并且在其中有" furterure"的提交. 感谢任何建议! :) 解决方案 git push . origin/master:master 点是指当前存储库.这将阻止您进行非速度更新.如果您仍然愿意,可以添加-f或--force选
8 2023-11-09
编程技术问答社区