从我所看到的,Git提交日期和作者日期仅精确到一秒.我想知道这是否与它们得到的一样精确,或者我可以得到毫秒甚至微秒的时间戳.
此命令使用第一次提交的提交哈希返回UNIX时间戳:
git show -s --format="%ct" 2d9afdfb9e2fa9b349312734b462bb7d57a684ee
Run Code Online (Sandbox Code Playgroud)
结果: 1421437899
什么是GIT的提交日期或作者日期时间戳精度?
最近在工作中,我们已经从使用SVN切换到使用git.我们必须维护我们软件的多个版本,之前我们将它们设置为分支.所以在使用之后git svn clone,我们最终得到了4个分支:master,5.0,5.1和5.2.
注意:我们使用master作为我们的开发分支.5.0,5.1和5.2都是来自master的分支,并用作生产分支.
几天过去了,相当多的变化已经成为主人.在5.2中发现了一个错误,我们想要修复它.我们尝试了将一个更改合并到Git中的多个分支的解决方案.我们总是可以轻松地合并回主人,但每当我们合并回5.2时,我们就会遇到一堆冲突.我们看到的所有内容都显示了这个过程(为bugfix创建了一个新的分支并将其合并回开发和生产),这表明它应该如下所示:
(master)$ git checkout -b bugfix
# fixed bug and committed
(bugfix)$ git checkout master
(master)$ git merge bugfix
# successful merge
(master)$ git checkout 5.2
(5.2)$ git merge bugfix
# successful merge
Run Code Online (Sandbox Code Playgroud)
然而,对于我们来说,当我们到达最后一行时,git merge bugfix我们会遇到大量冲突.我们甚至没有在错误修复中触及的文件冲突.我们做错了什么?
注意:我们也尝试通过启动5.2中的bugfix分支来完成此过程.然后将错误修复程序合并到5.2中很容易,但将错误修复程序合并到master中会产生冲突.
显示该过程的其他地方:
我在Excel中继承了一些VBA并想把它放到git中.就目前而言,git将其视为二进制文件,并且不希望进行文件更改增量,而是复制整个文件.
我想将各个宏分解为文件以将它们放入git中.有没有标准的方法来做到这一点?
我有以下场景:
现在,当我在github上浏览打开的PR时,存储库部分显示"未知存储库".
我想恢复我的分叉,以使此部分显示其名称.
我的第一个想法是重新分配上游存储库,正确地重新设置它(感谢这个)并祈祷该github自动重新填充PR中的正确名称.
不幸的是,没有发生任
我怎样才能做到这一点?
我应该联系支持吗?
我正在研究man gitglossary,这个术语让我望而却步 - 因为它根本没有在词汇表中定义.
它只被提到两次(添加了星号):
alternate object database
Via the **alternates mechanism**, a repository can inherit part of its
object database from another object database, which is called
"alternate".
repository
A collection of refs together with an object database containing
all objects which are reachable from the refs, possibly accompanied
by meta data from one or more porcelains. A repository can share an
object database with other repositories via **alternates mechanism**.
Run Code Online (Sandbox Code Playgroud)
这里提到的"替代机制"是什么?
我是源控制的新手; 在过去,我手动备份了文件副本并对克隆进行了更改,然后在调试后手动将更改传输到主文件.我意识到这与分支机构如何使用Git存储库类似,但我从未使用过.
我下载了Git并在GitLab上创建了一个帐户,并开始了一个新项目.我的网站托管在本地服务器上,我的文件保存在本地.如何将这些文件连接到Git存储库并继续使用分支机构进行开发?
$ git push -u origin master
Counting objects: 321523, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (85111/85111), done.
error: RPC failed; curl 55 SSL_write() returned SYSCALL, errno = 10053
fatal: The remote end hung up unexpectedly
Writing objects: 100% (321523/321523), 4.29 GiB | 17.11 MiB/s, done.
Total 321523 (delta 159406), reused 320112 (delta 158718)
fatal: The remote end hung up unexpectedly
Everything up-to-date
Run Code Online (Sandbox Code Playgroud) 有没有办法使用VSTS使用提交消息关闭工作项?我尝试过:修复#123,关闭#123或解析#123但只关联提交到工作项.
所以基本上我正在通过提交消息关闭问题,例如在github:https://help.github.com/articles/closing-issues-via-commit-messages/ 但是使用vs团队服务.
我想在Windows系统上重命名由Git版本化的目录(更改目录名称的大小写):
$ git mv docs DOCS
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n
fatal: renaming 'docs' failed: Permission denied
Run Code Online (Sandbox Code Playgroud)
我也尝试过force-option - 但结果相同:
$ git mv --force docs DOCS
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n
fatal: renaming 'docs' failed: Permission denied
Run Code Online (Sandbox Code Playgroud)
出于某种原因,Git失败了,因为它认为DOCS已经是一个现有的目录,并且该目录应该在其中移动.我知道我可以使用临时目录名重命名和提交,然后重命名和修改提交到最终名称,但是没有办法告诉Git我不想移动到任何其他目录中?
请帮助我了解以下错误消息的含义以及如何遵守其请求.
我想复制一个现有的本地git仓库; 然后将该副本推送到新创建的遥控器.
但是我收到以下错误:
此存储库是为Git LFS配置的,但在您的路径中找不到"git-lfs".如果您不再希望使用Git LFS,请删除.git/hooks/pre-push以删除此挂钩.
我在收到此消息之前使用的代码是:
# create new git repo at https://github.com/username/foo-bar.git
cp -r OldProject/ NewProject/
cd NewProject/
git remote remove origin # Remove prior origin from copy operation
git init
git remote add origin https://github.com/username/foo-bar.git
git add -A
git commit -m "first commit"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
我做错了什么,我该如何解决?请帮助我理解上述错误消息的含义以及如何遵守其请求.
git ×10
github ×2
azure-devops ×1
date ×1
excel ×1
gitlab ×1
merge ×1
pull-request ×1
rename ×1
repository ×1
timestamp ×1
unix ×1
windows ×1