我有一个分支,它将主分支的内容作为子目录。现在我对这个子目录做了一些更改。理想情况下,我希望能够将这些更改合并回主分支
分支布局:
index.html
subdirectory
> a.txt
> b.txt
主布局
a.txt
b.txt
我该怎么做呢?这是一个好方法吗?在SVN中,我避免将子目录合并回主干。但这是一个稍有不同的用例,分支和主节点的布局永远不会改变。您可以尝试
从当前分支创建分支(git branch to_be\u merge\u to_maste
git不可避免的一个怪癖是它无法存储和检索关于文件的元数据。例如,在mac上,标签以“扩展属性”(可通过xattr访问)存储,如果文件受签出影响,任何签出/重置/合并/拉取命令都将删除这些属性
我环顾四周,想看看是否有人已经编写了元数据保存脚本,但我还是一无所获
所以我想做的是使用Git的钩子系统:
提交文件时读取扩展属性
将属性写入存储在存储库中并已提交的文件
将扩展属性应用于在合并/签出/重置中修改的文件
我应该用哪种钩子?post receive和pre commit是否都是我需要的?pr
背景:Trevor正在进行一个测试项目,目的仅仅是为了测试git。这是一个尚未共享的本地单人存储库,因此Trevor进行了硬重置,以删除一些不需要的提交:
:git reset --hard 6aa32cfecf4
HEAD is now at 6aa32cf auto commit Sun Feb 28 16:00:10 -0800 2010
然后特雷弗很高兴地为项目添加了新的承诺。然后,当Trevor查看提交历史的图形表示时,Trevor发现似乎有一个被删除的提交的匿名分支
我正在使用一个git存储库来存储网站的数据。它包含一个.htaccess文件,其中包含一些适用于生产服务器的值。为了让我在网站上工作,我必须更改文件中的一些值,但我永远不想提交这些更改,否则我将破坏服务器
由于.gitignore不适用于跟踪的文件,所以我使用“git update index--assessed unchanged.htaccess”忽略我在文件中所做的更改,但是这只在切换分支之前有效。一旦更改回原始分支,更改将丢失
有没有办法告诉git在更改分支时忽略文件中的更改而不去管它?
我对一个特定的git行为感到困惑:
以下是步骤和情况(后面还会给出命令列表):
我有两个分支:master和XBranch
它们中都有一个文件src/a.txt。它的内容是“旧内容”
在XBranch中,我将src/a.txt重命名为src/b.txt,使用:mv,git-rm,git-add
在master中重命名文件a.txt。在提交期间,我确实执行了git rm src/a.txt,但忘记了执行git add src/b.txt
在master中我做:git-rm-src/a.txt和gi
我在学校的电脑上写了一个简单的脚本,并将更改提交给Git(在我pendrive中的一个repo中,是从我家电脑克隆的)。在几次提交之后,我意识到我是以root用户的身份提交内容的
有没有办法把这些承诺的作者改成我的名字
此答案使用了git过滤器分支,现在为其发出以下警告:
git filter分支有太多的陷阱,可能会对预期的历史重写造成不明显的破坏(并且由于它的性能如此糟糕,您几乎没有时间调查这些问题)。这些安全和性能问题不能向后兼容地解决,因此,不建议使用。请使用其他历史记录筛选工具,如。如果
我已经给孩子出了一张家长卡。现在,我想用父母的最新更新更新我的孩子。我可以这样做吗?如果可以,怎么做
当我更新我的github回购协议时,我可以执行“git pull”来更新我的本地回购协议。您想要:
git拉git://github.com/voldemort/voldemort.git在您的本地子级克隆中,从父级提取,如果您愿意,将其添加为远程:
cd child
git remote add parent <parent-url>
git pull parent
cd子对象
我输入了以下内容:
mkdir project_name
cd project_name
git init
touch .gitignore
git add .gitignore
我得到的答复如下:
The following paths are ignored by one of your .gitignore files:
.gitignore
Use -f if you really want to add them.
fatal: no files added
我找不到任何可能导致此
我正在编写一个自定义git命令,该命令应该只在一个全新的存储库中运行,不需要提交(请参阅)。如何在脚本中执行简单检查,以查看现有回购是否有零提交
本质上,下面的空白是什么?
if ___________ ; then
echo "Git repo already has commits. Aborting.
else
echo "Git repo has no commits. Doing whatever my script does."
fi
你想用
如果您正在使用cygw
有了陆龟VN的简单经验,我查看了SVN的一些命令行,但它并没有那么容易使用。TortoiseGit是否真的使Git更易于使用,就像TortoiseSVN在SVN命令行中所做的那样?我认为,当您使用TortoiseGit时,Git会失去很多功能。在我看来,Ortoisegit给了用户使用SVN的感觉,而实际的后端是Git
当我与SVN repos合作时,我使用的唯一客户是Ortoisesvn。根本没有控制台
但是学习Git对我来说是由控制台驱动的,所以我使用控制台来处理Git。当我启动我的Tort
用例:我们有一些需要跟踪的项目元数据文件,但是很少(如果有的话)提交,尽管它们一直在本地更新(不同的用户有不同的项目路径)。在常规场景中,除非明确要求,否则任何用户都不应提交这些文件
Git ignore用于未跟踪的文件
git是否有类似的功能来忽略跟踪的文件?是否有一种方法可以在中央回购中更改,并将反映在所有用户身上?$git update index——假设不变
$ git update-index --assume-unchanged <filename>
不过,这只在本地
我已经尝试过使用git svn将git回购镜像到svn回购,但我似乎只能将主更改推送到svn回购主干
基本上,到目前为止,我所做的是使用标准布局(项目名称/主干、项目名称/标记、项目名称/分支)创建一个SVN repo,然后执行“git SVN init--stdlayout”。这将为当前git repo设置git svn,然后我在git repo中进行任何更改,然后通过“git svn dcommit”将这些更改推送到svn,但这似乎只适用于将当前分支(通常是主分支)推送到svn项目的主干文件
标签: Git
branchgit-filter-branch
我想在我的repo中创建一个新分支,它只包含master中特定目录的文件及其历史记录,然后将该分支推送到一个新的存储库
…或类似的东西–例如,可以将目录推送到新存储库,再推送到新的repo,而无需创建分支
到目前为止,我认为下面的方法会起作用,但我想知道是否有一种更精简的方法
1-创建空分支:
git symbolic-ref HEAD refs/heads/<new-branch>
rm .git/index
git clean -fdx
git符号参考头参考/头/
吉特令吉/
您建议如何管理特定于客户端的功能和Git中的更改请求?特定于客户端的功能是否应位于专用于客户端的单独分支中?(每个客户机都有自己的开发分支机构。)或者他们应该在单独的存储库中吗?(每个客户端都有一个专用的存储库,主存储库是我们的主存储库。)听起来您有一个所有客户端都使用的代码库,然后您就有了一些针对客户端特定功能的“黑客”
在我看来,您将拥有主分支上的所有“基本”代码。所有客户都会有一个特定于客户的分支机构。要小心,并知道在哪里进行更改
每隔一段时间,确保重新设置客户机分支的基础,基本上是将它们
我已经修改了一个文件,希望从服务器获取该文件而不进行任何修改,我git-pulledit-from。如何从服务器下载文件,或恢复文件的初始状态?您可能正在查找git stash命令
git reset HEAD filename
然后,要放弃对其所做的修改:
git checkout -- filename
如果文件刚刚暂存,请执行以下操作以解除文件的暂存:
git reset HEAD filename
然后,要放弃对其所做的修改:
git checkout -- filename
修
这个问题可能是因为我不理解我应该做的事情!
我在一台机器上制作了一个rails应用程序并进行了部署。
然后将其克隆到另一台机器上,从那里进行一些更改。
返回到第一台机器并创建了一些分支以进行一些更改。。。
我知道我想让我的第一台机器有heroku的东西
作为一个heroku用户,在多台机器上进行此类开发的最佳策略是什么
我现在正在做的是创建一个分支,在该分支中执行git拉入,然后合并更改。。。。听起来对吗
谢谢。Git是一个分散的版本控制系统,您可以在其中推拉代码存储库。部署到Heroku的行为
我有一个功能分支已被合并(在M中),但随后又恢复(在R中):
我想将功能分支重新设置到当前主功能上,以便获得:
S---o-o-----M-o-R-o-A'-B'-C'
\ /
A-----B-C ^ new master or new branch
^ old master
^ feature
这与的附录中描述的过程类似,但不是基于S创建新分支,而是基于当前的master
根据这一点,解
我最近将一个存储库从svn迁移到git。当我查看日志时,来自SVN的所有提交都没有正确格式化为50/72格式。是否有一种方法可以检查每个提交消息并对其进行编辑,使其符合git格式?一种方法是在导入git之前在svn中编辑您的提交。使用svnadmin dump生成一个可编辑版本的存储库,在那里编辑提交消息(如果是我,我会编写一个Python脚本来执行此操作),然后使用svnadmin load重新构建存储库。您需要git filter branch。这很清楚
使用--msg filter选项,该
我有一些隐藏在git中的文件,但我不想git stash pop它,因为有时它会发出警告合并消息,我不想为了查看隐藏文件中的源代码而进行合并,有没有办法做到这一点?为了在不将其从可使用的隐藏列表中删除的情况下获取隐藏代码
git stash apply
git diff stash@{0}
要恢复最后隐藏的代码,但我相信您只是想查看差异,您可以使用
git stash apply
git diff stash@{0}
这是一个在第一个位置区分隐藏代码的简单命令
使用git stash l
我有一些我一直在研究的东西,我已经设法得到了“提交时头部分离”的错误。我需要把提交放回到主分支上,因为我没有我的工作的其他副本,我不能冒险丢失它。。。。我真的害怕失去工作
谢谢你的帮助 首先:在当前提交时添加一个分支,这样就不会丢失任何代码
git checkout -b save
然后:您需要将此作品与您的母版合并。
您可能处于以下两种情况之一
(使用gitk--all检查
案例1
A--B--C master
\
D save
只需在master
git reba
我正在尝试将一些旧的bazaar存储库转换为git,虽然一切似乎都进行得很顺利,但我有点不确定它是否真的像它声称的那样顺利
我的bazaar存储库的结构如下:
回购
树干
刺激
特征/特征分支
特征/特征分支
我使用快速导出/快速导入方法在bzr和git之间进行迁移
最初,我使用--export标记迁移“trunk”,如下所示:
bzr fast-export --export-marks=../$1/marks.bzr ../$1/trunk | git fast-import --e
假设我有以下文件夹结构:
My Project
| - <project files>
| - <project configuration files>
在运行该命令之前,树将如下所示:
master
/
*---*---*
\
*--* - jakesConfigurationFiles
在这棵树之后,看起来是一样的:
master
/
*---*---*
\
git怎么了
$ git push
Counting objects: 1431, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1326/1326), done.
Writing objects: 100% (1429/1429), 131.94 MiB | 15.41 MiB/s, done.
Total 1429 (delta 630), reused 0 (delta 0)
error:
在git中解压文件时,建议的方法是:
git reset HEAD <file>
git复位头
然而,我发现这同样有效:
git reset <file>
git重置
为什么第一种情况下需要头,而第二种情况下,头似乎也能工作,而且打字较短?不是。根据本文件:
默认为所有形式的HEAD
手册页清楚地指出“参数/在所有形式中默认为HEAD。”因此第二种形式等同于第一种形式。如果您想知道为什么git status推荐第二种形式,那么我觉得提供完整版本而不使用任何默认值是
我正在尝试在我的移动应用程序中安装cordova插件。我正在使用cordova 3.4。当我执行命令的时候
cordova插件添加https://github.com/kdileep1990/com.dileep.plugins.datepicker
在Node.js命令提示符中,它向我抛出了一个错误
错误:“git”命令行工具未安装d:请确保已安装
可在您的路径上访问。
但是我已经安装了git
有人能帮我一下吗。在安装git时,您需要从Windows命令提示符中选择运行git
如果未选择此选项
是否有一种配置可以防止在当前面包中有未提交的内容时切换分支?
在我初始化的GIT目录中,我签出一个我称之为库的分支。在那里我下载了许多javascript文件。我的目的是将库分支克隆到其他分支中,以便我的javascript文件始终存在于其他分支中。这个很好用
我的问题从创建新分支时开始,branch1和branch2。两者都包含libraries目录,但从这一点来看,我的意图是让新分支包含完全不同的文件
我遇到的问题是,当我在branch1中创建一个新文件,然后切换到branch2时,我发现我
如何将git代码签出仅限于特定的用户/机器组合。我们的项目驻留在github中,用户使用SSH与github通信以访问代码
如果私钥被复制到另一台机器上(比如在他的家里),就有可能在另一台机器上下载源代码
我们在一个局域网环境中,我更愿意将代码访问严格限制在开发人员使用的单机上
我应该如何执行这一点
我应该如何执行这一点
不是从GitHub本身
只有一个私有的git repo托管服务器才能提供类似的服务
在这里,在组“junior devs”中注册的任何用户都可以访问repofoo,除非他们从1
我在GitLab中创建了几个存储库。其中一个用于测试目的,有一些提交和分支。我想删除或删除此存储库。我该怎么做
转到项目页面
选择“设置”
选择“常规””部分(您必须位于要删除它的存储库中)
如果您有足够的权限,则页面底部将有一个按钮,用于“高级设置”(即可能导致数据丢失的项目设置)或“删除项目”(在较新的GitLab版本中)
按此按钮并按照说明操作
后藤
单击“删除项目”按钮后,浏览器将显示一个确认框,然后单击“确定”并从Gitlab中删除项目
自2016年6月起,单击右上角的设置中心,然后单
标签: Git
git-pullmerge-conflict-resolutiongit-fetch
当我尝试在终端中拉入我的项目目录时,我看到以下错误:
harsukh@harsukh-desktop:~/Sites/branch1$ git pull origin master
U app/config/app.php
U app/config/database.php
U app/routes.php
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and
不久前,我使用Omnibus包安装了GitLab
当我使用Gitlab web UI创建项目时,一切正常
我想要更改的是显示在项目页面顶部的SSH主机名
例如,我的实际主机名是“git@xxxx:group/repo.git”,我希望它是“git@yyyy:group/repo.git”
我已经更改了我的config/gitlab.yml中的“主机”配置和/etc/hostname中的主机名,然后运行gitlab ctl reconfigure“,但SSH主机名仍然是相同的。更新主机名所需执行的
标签: Git
atlassian-sourcetree
显然,SourceTree只显示修改文件中的第一个大块头
我如何让它显示所有的帅哥
是否有定义限制的设置?看起来这是由选项窗口中“差异”选项卡上的“最大差异行数”设置引起的(文本标题可能在某些语言中被截断,例如,它可能在德语中显示为ener Zeilen,或在英语中显示为ne Count)
默认值为500
将此值增加到足够大的数值,以确保显示所有更改。将此值设置为-1似乎会使其没有限制。或者,如果您不相信这一点,2147483647(Java整数上限)似乎是可接受的最大值。
我开设了一个新的GitHub帐户,将我的业务与个人存储库分开
现在,我git initmy local repository和git add remote origin
我尝试推送,但它似乎总是获取我原始帐户的凭据,而不是提示我输入新帐户的凭据
我尝试将URL格式用于
https://<username>:<password>@github.com/<username>/<repository.git>
https://:@github.com/
我正在寻找一种在Jenkins作业中处理多个参数的方法
我的构建可以通过推送到Gitlab触发,也可以手动触发
Gitlab将${gitlabSourceBranch}作为一个参数传递,该参数包含它接收到的推送请求的分支。“我要生成的分支”设置当前设置为origin/${gitlabSourceBranch}。当推到Gitlab时,它就像一个符咒
不幸的是,当触发手动构建时,它自然会失败:
[...]
> git rev-parse origin/${gitlabSourceBranch}
Git显示了组成存储库的语言的百分比。但是,对于我的一个项目,我希望使用自己的自定义语言。我知道我可以创建一个.gittributes文件并放置*.py language=Python,以使所有py文件都被识别为Python,但是如何使文件扩展名被识别为我自己的语言,例如Foo?我试过*。flm linguist language=Foo,但不起作用
您可以将PR发送到此存储库()。仅仅添加一种语言并不困难,但GitHub工作人员只接受在许多存储库中使用的语言。让我们阅读贡献文档:目前没有办法做
我对工作原理有点模糊。文件说:
如果在git repo中运行,它还将创建一个版本提交和标记
这是否意味着我不必运行git-commit或git-tag,或者它只是取代了git-tag-a?如果我这样做,我会创建一个双重提交吗
git add . -A
git commit -m "<commit message>"
git push origin master
npm version <patch|minor|major> -m "<version descript
标签: Git
gerritcherry-pick
我的代码基于我对另一个补丁所做的一个樱桃选择。
我推错了,因为另一个补丁还没有准备好。所以在gerrit中,我也看到了其他补丁文件。
如果没有从另一个修补程序中传入的其他文件,我现在如何使推送的修补程序重新基于?要将分支恢复到樱桃拾取之前的位置,请执行此操作(其中n是樱桃拾取的提交数):
请注意,强制推送可能会打乱任何在您的樱桃采摘后拉动您的分支的人的提交历史记录
如果您想挑选提交的部分(仅一个文件),例如,可以通过以下方式完成:
git cherry-pick <hash>
git
我试图通过选择文件|添加到源代码管理将我的解决方案添加到本地存储库,但收到以下消息
源代码管理-Git
当前解决方案的项目位于解决方案文件夹之外。这些项目在Git存储库中不受源代码管理。若要将所有项目添加到单个Git存储库,请将所有项目合并到单个文件夹下
但是,我的所有项目都在我的解决方案文件夹中。我唯一不确定的是,我在我的一个项目中添加了一个NuGet包,但我在任何地方都没有看到。在项目的csproj文件中显示如下
<ItemGroup>
<PackageReferenc
我通过命令向github.com添加了一个本地现有的git repo作为远程
% git remote add origin https://github.com/username/synchm.git
并与
% git remote -v
origin https://github.com/username/synchm.git (fetch)
origin https://github.com/username/synchm.git (push)
但是,当我登录到github.com
不管是哪个存储库,我都会得到一个坏掉的git工作树。例如,随机存储库:
PS D:\> git clone https://github.com/dylanaraps/pure-bash-bible.git
Cloning into 'pure-bash-bible'...
remote: Enumerating objects: 113, done.
remote: Counting objects: 100% (113/113), done.
remote: Compressing o
我正在本地的一个网站上工作。
我将包含其文件的文件夹转换为具有工作树的存储库
之后,我将更改推送到一个空的“远程”存储库,该存储库也只是本地磁盘中的一个文件夹
我在“远程”存储库中创建了一个post-receive钩子,它签出到一个特定的本地文件夹,每次我将其推入裸存储库时,该文件夹模拟服务器中的web根目录
然而,因为我在工作树中有一个.gitignore文件,所以它也被签出到应该是“实时”网站的地方
如何在签出期间排除.gitignore文件?
欢迎提供任何其他提示。您的post-recei
我有一个VPS(Windows Server 2016),并使用OpenSSH for Windows在上面运行了一个SSH服务器。我会在这个VPS上运行一个git服务器,所以我在google中搜索了一些教程并找到了它。
配置服务器端设置的教程还可以,我创建了一个裸git存储库。我会使用SSH公钥使用自己的计算机连接到git服务器,但它需要我的密码!我试图在服务器的/.ssh/authorized_keys文件中保存我从自己的PC上生成的公钥(不带密码短语),但没有成功。当我使用这个git克隆时
我在尝试访问TFS构建中的不同git源时遇到了一个问题
我有两个回购测试1和测试2-(&Test2)。在Test2下,我添加了一个sample.txt和.gitmodules文件
.GitModules文件有一个cmd-git子模块addhttps://tfs.org.com:8080/tfs/collection/project/_git/Test1 (因为触发Test2回购时我也想签出Test1内容)
现在在builddef(构建Test2)中,我选中了选项(签出子模块),并触发了构建。但我
标签: Git
git-checkoutgit-reset
我一直认为git reset和git checkout是一样的,因为这两种方法都会使项目回到特定的提交状态。然而,我觉得它们不可能完全相同,因为这是多余的。两者之间的实际区别是什么?我有点困惑,因为svn只有svnco来恢复提交
补充
VonC和Charles很好地解释了git reset和git checkout之间的区别。我目前的理解是,git reset将所有更改还原回特定的提交,而git checkout或多或少地为分支做准备。我发现以下两个图表对于理解这一点非常有用:
增加3
从中
标签: Git
pull-requestcircleci
我向主存储库发送了一个请求。大多数检查都是成功的,但CircleCI在第一次提交(PEP8样式的格式)中发现了一些小问题,我修复了这些问题并添加了另一次提交。这一次,我立即得到一个生成错误:
抱歉!您的生成未运行,因为您尚未选择计划
这还包括macOS。请更改为绩效计划
我不知道如何修复这个问题,尤其是它在第一次提交时没有弹出。我应该做什么,比如回滚到第一次提交
是否有一种方法可以轻松获得从特定(非主)分支创建的分支数
注意:我不是在寻找分支的总数,理想情况下是一个显示分支名称和从该分支创建的分支数量的表。从阅读和理解开始
现在,要计算某个给定父对象的子对象:
使用git for each ref和refs/heads循环所有分支名称。有关详细信息,请参阅
根据这个相关问题,使用您提出的任何算法,将每个分支与其声称的“父分支”配对
为你选择的父母计算孩子的数量,你就完成了
定义“从该分支创建”?如果您从A创建一个分支,将其命名为B并签出,在B上进
标签: Git
pre-commitpre-commit.com
运行:RH7、Python 3.8.3、预提交2.8.2
我从github下载了一份回购协议。我对现有文件进行了“错误”更改,例如在class语句之前没有足够的空行。我跑
预提交运行yapf--所有文件
我也像预期的那样失败了
但是,如果我用同样的错误创建了一个新文件,则不会发现任何错误!就好像没有看到新文件一样
请告知。预提交仅在签入到存储库的文件上运行
这使得您通常不需要许多其他工具所需的排除规则(排除virtualenvs、.tox、.git、其他垃圾文件等)
它还允许预提交在进行提交时执
使用Jenkins,我们为回购准备了多个分支管道。我们已经为dev/qa分支自动运行了构建。因此,如果给定回购的dev构建正在进行,或者dev分支的最新构建未成功,我们希望推迟qa分支的任何自动构建。例如,“不要将损坏的dev版本升级到qa
Jenkins有没有办法做到这一点?当然,我们希望能够从qa触发手动构建,从而绕过此规则。Jenkins有一个API:您可以查询Jenkins,以了解dev分支管道的上一次构建的状态。您可以使用全局变量并在以下情况下设置值:开发人员通过,如果未通过,则跳过q
情况就是这样,比如说我想跟踪**/data中的文件,但不想查看它们的状态(因为文件太多,我通常不关心其中的细节),是否可能
如果能给我一条简短的信息(没有更多的细节)就更好了,如下所示
在./a/data中创建新文件/
已删除。/b/数据中的文件/
在./c/data中修改文件/
...
这要求太高了吗
提前谢谢
可以提供列出文件所需的功能
您也可能会发现uzsedful。我还没有尝试过,但是您可以使用pathspec功能来限制结果
git-help-status在我的机器上显示一个带有
标签: Git
visual-studio-mac
我想知道如何在VisualStudioforMac8.9中创建本地git分支,然后将其推送到服务器。我试着点击版本控制->管理分支和远程。然后我点击“新建”按钮,输入分支的名称。当我点击OK时,我得到一个本地分支,但我似乎不知道如何将该分支推送到服务器。我假设您正在尝试将您创建的新项目推送到GitHub。让我来帮助你一步一步地完成这个过程
首先在VS代码中打开终端
在您的计算机中,使用命令gitinit-bmain来初始化git repo
上面的命令将创建一个主分支。现在,您可以运行git st
标签: Git
cvsmerge-conflict-resolution
我们正在将旧的CVS服务器迁移到git上,但在过去的30年中,一位主要的开发人员一直在使用CVS,这让我有些后顾之忧。我认为他在对付git时遇到了一些困难。他给了我他的意见,我想知道如何挑战或解决其中的一些问题:
例如,无法合并对不同分支的提交
小项目,我看到这是工作,但对于我们的项目,我们仍然
需要创建单独的分支来移动特定的修复。”上下文:目前,他在我们每次创建发布时(每季度)都会创建一个特殊的发布分支。一些客户升级到新版本,但其中许多仍在旧版本上,并经常收到修复。当他在一个较旧的分支中实现了
1 2 3 4 5 6 ...
下一页 最后一页 共 1751 页