最近在一个git仓库中工作时,我想在一个旧的提交( 68cce45)处查看代码,所以我做了
git checkout 68cce45
Run Code Online (Sandbox Code Playgroud)
查看更改后,我想返回到存储库的当前版本并继续工作。由于2bcfd11是最近的提交,我做了
git checkout 2bcfd11
Run Code Online (Sandbox Code Playgroud)
然后我做了一些改变并做了
git add *
Run Code Online (Sandbox Code Playgroud)
进而
git status
Run Code Online (Sandbox Code Playgroud)
这给了我警告:HEAD detached at 2bcfd11。
我糊涂了。如果我检出的最后一次提交是在几个版本之前,我可以理解为什么我会处于“分离的 HEAD 状态”。但是由于我检出的最后一次提交是存储库的最新版本,那么为什么我会处于分离的 HEAD 状态?HEAD 现在不是指向存储库的“顶部”吗?
我有一系列 png 图像:image_00.png、image_01.png、image_02.png等。我想将它们转换为 gif,所以我尝试了命令
ffmpeg -i image_%02d.png video.gif
Run Code Online (Sandbox Code Playgroud)
不幸的是,由此产生的 gif 有扭曲的颜色。更具体地说,它在视频中的某些物体周围添加了一种奇怪的黄色薄雾。
我还尝试将上述命令与所有可能的像素格式选项(我使用命令确定)一起使用ffmpeg -h encoder=gif:rgb8, bgr8, rgb4_byte, bgr4_byte, gray, pal8。例如ffmpeg -i image_%02d.png -pix_fmt rgb8 video.gif。不幸的是,所有生成的 gif 都存在某种颜色失真。
我还观察到,如果我将图像转换为 mp4 而不是 gif,则不会发生这种失真。但是,如果我尝试将该 mp4 转换为 gif,最终又会出现失真。
我怎样才能在没有颜色失真的情况下制作这个 gif?