我有一个已安装另一个存储库的存储库
git subtree add -P some/path otherremote otherbranch
Run Code Online (Sandbox Code Playgroud)
开发已经发生了一些局部变化,但也进行了几轮合并:
git fetch otherremote
git subtree merge -P some/path otherremote/otherbranch
git commit
Run Code Online (Sandbox Code Playgroud)
现在我想在otherremote/otherbranch的HEAD和某些/ path的树之间获得差异.我怎样才能做到这一点?
我正在尝试为我的组织构建一组git hook脚本,我想使用的一个(对于我自己的多个项目)将检查git rebase --continue我的代码中没有任何冲突标记. (<<<<<,=====,或>>>>>).
我已经预先提交了这样一个脚本,但是什么脚本适用于rebase --continue?
我有一个Jenkins作业,它使用Maven(mvn clean install)从github.com存储库的主分支构建,然后检查Java文件中的许可证头和缺少的NOTICE文件,并在必要时添加它们(mvn license:format notice:generate).有时这会导致更改或添加文件,有时不会.
每当有已作出(由许可证插件)的任何改变我要推更改到GitHub库.
现在我无法弄清楚如何最好地实现这一目标.我在Maven许可插件之后添加了一个shell构建步骤,执行git命令:
git add . # Just in case any NOTICE files have been added
git commit -m "Added license headers"
Run Code Online (Sandbox Code Playgroud)
git add .单独工作,即不会破坏构建,即使没有添加任何文件.但是,git commit如果根本没有任何更改,请中断构建.
我不担心回到github,因为我相信Git Publisher的后期构建操作可以为我做这件事.有人可以指点我正确的git提交方向吗?
我试图跟踪一个远程分支:
$ git checkout -b --track global/master
Run Code Online (Sandbox Code Playgroud)
并且git创建了一个实际上称为"--track"的分支+现在当我输入:
$ git branch -D --track
Run Code Online (Sandbox Code Playgroud)
它不会删除分支(我认为git假设它是一个标志/选项而不是分支名称)
我也试过了
$ git branch -D '--track'
Run Code Online (Sandbox Code Playgroud)
和
$ git branch -D \--track
Run Code Online (Sandbox Code Playgroud)
没有结果
UPDATE =============================
谢谢...有效:
$ git branch -D -- --track
Run Code Online (Sandbox Code Playgroud) 我们已将TFS-2013配置为使用git存储库.一切都在大部分时间都很好,但是我们会出现间歇性的构建错误 - 随着时间的推移,它们甚至会变得更加频繁.
发生问题时,我们可以在构建日志中找到这些内容:
异常消息:libgit2引发了一个错误.Category = Os(错误).
无法删除目录.无法删除文件'C:/Builds/1/MyTool/MyTool_CI/src/.git/objects/pack/pack_git2_a02380':进程无法访问该文件,因为该文件正由另一个进程使用.
(输入LibGit2SharpException)
异常数据字典:
libgit2.code = -1
libgit2.category = 1
什么可能导致这些错误..?
在使用git和bitbucket.com处理项目时,有以下分支:
master
development
uat
production
Run Code Online (Sandbox Code Playgroud)
当我开始项目工作时,我采用了一个开发的git克隆(自然地思考它包含最先进的代码).几个月后的工作,现在结果是生产分支中的代码(当前正在生产中运行)的版本比我在开发分支中开始的代码更新.
当我试图:
git checkout development
git merge production
Run Code Online (Sandbox Code Playgroud)
它说"已经是最新的".我去的时候:
git diff production..development
Run Code Online (Sandbox Code Playgroud)
它吐出了很多变化,说生产分支的代码不在开发分支中.如何在不擦除我几个月工作的情况下使生产代码与开发代码合并?
因此,我在我的地方,跑了一些CSS的变化git add .,git commit -am "Hello",git push heroku master,出于某种理由二commmits前,东西停止得到更新.
它提交很好,并没有显示任何不寻常的输入.
我尝试制作一个新分支并将其推送到heroku分支机构,但仍然是虚无... 是什么赋予了?
我正在使用gitlab.当我进入界面时,在每个分支上我都可以下载源代码作为zip,tar或者任何东西.
我正在制作rpm规范文件,我需要使用命令行下载tar球.因为我添加了我的rsa密钥,我可以毫无问题地执行git clone:
git clone http://gitlab/group/project.git
Cloning into 'project'...
remote: Counting objects: 1885, done.
remote: Compressing objects: 100% (826/826), done.
remote: Total 1885 (delta 1194), reused 1496 (delta 954)
Receiving objects: 100% (1885/1885), 1.30 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1194/1194), done.
Checking connectivity... done
Run Code Online (Sandbox Code Playgroud)
无论如何
wget http://gitlab/group/project/repository/archive.zip
Run Code Online (Sandbox Code Playgroud)
给我这些错误:
Resolving gitlab (gitlab)... 10.1.253.75
Connecting to gitlab (gitlab)|10.1.253.75|:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.
Run Code Online (Sandbox Code Playgroud) 如何使用未跟踪的文件进行Git存储,将其推送到补丁并在另一台计算机中恢复.
git stash save -u feature
git stash show -p > patch
git apply patch
Run Code Online (Sandbox Code Playgroud)
但路径没有未跟踪文件
上下文:我希望能够通过我的git提交消息和提交进行搜索而无需经历令人费解的复杂git grep命令,因此我决定看看如何存储git commit消息.
我看了一下.git文件夹,它看起来像是存储的提交
.git/objects
Run Code Online (Sandbox Code Playgroud)
.git对象文件夹包含一堆名称为a6和9b的文件夹.这些文件夹中的每个文件夹都包含一个名称类似于提交的文件2f29598814b07fea915514cfc4d05129967bf7.当我在文本编辑器中打开其中一个文件时,我会感到胡言乱语.
在这个git commit日志中,文件夹9b包含一个commit sha
aed8a9f773efb2f498f19c31f8603b6cb2a4bc
Run Code Online (Sandbox Code Playgroud)
为什么,并且是否存在多个提交sha将存储在文件9b中的情况?
有没有办法将这个乱码转换成纯文本,以便我可以在文本编辑器中混淆提交?
git ×10
bash ×1
build ×1
command-line ×1
git-branch ×1
git-diff ×1
git-merge ×1
git-subtree ×1
githooks ×1
gitlab ×1
heroku ×1
jenkins ×1
merge ×1
tfs2013 ×1
tfsbuild ×1