最近我加入了GitHub。我在那里主持了一些项目。

我需要在README文件中包含一些图像。我不知道该怎么做。

我搜索了一下,但得到的只是一些链接,告诉我“在web上托管图像并在README.md文件中指定图像路径”。

是否有任何方法可以在不在任何第三方网络托管服务上托管图像的情况下做到这一点?


当前回答

如果你不想用这些图片“搅乱”你的分支的内容,而且链接是绝对的对你来说也不是问题,那么我建议使用一个单独的孤立分支来存储这些图片。在这种情况下,图像将与回购集成,但不包含在主要内容中。此外,您可以对较大的文件使用LFS(所有主要的git主机都支持LFS)。

可以在命令行中轻松创建孤立分支:

git checkout --orphan images
git reset --hard
cp /path/to/your/image.jpg ./image.jpg
git add --all
git commit -m "Add some images"
git checkout master
git log -n 3 --all --graph

如果一切正常,请推送新分支:

git push -u origin images

然后使用图像的原始github URL。

其他回答

有两种简单的方法可以做到这一点,

1) 使用HTML img标记,

2) ![](保存图像的路径/image-name.png)

打开图像时,可以从浏览器中的URL复制路径。可能会出现间距问题,因此请确保在路径或图像名称add->%20中是否有空格b/w两个字。就像浏览器一样。

如果你想了解更多,可以查看我的github->https://github.com/adityarawat29

许多张贴的解决方案都不完整或不合我的口味。

像imgur这样的外部CDN为该链添加了另一个工具。无聊的。在问题跟踪程序中创建虚拟问题是一种黑客行为。它会造成混乱,让用户感到困惑。将此解决方案迁移到fork或脱离GitHub是一件痛苦的事。使用gh-pages分支会使URL变得脆弱。另一个在维护gh页面的项目中工作的人可能不知道一些外部信息,这取决于这些图像的路径。gh-pages分支在GitHub上有一个特殊的行为,这对于托管CDN图像是不必要的。在版本控制中跟踪资产是一件好事。随着项目的发展和变化,管理和跟踪多个用户的变化是一种更可持续的方式。如果图像适用于软件的特定版本,则最好链接不可变图像。这样,如果稍后更新图像以反映软件的更改,任何阅读该版本自述文件的人都会找到正确的图像。

受这一要点启发,我的首选解决方案是使用带有特定修订永久链接的资产分支。

git checkout --orphan assets
git reset --hard
cp /path/to/cat.png .
git add .
git commit -m 'Added cat picture'
git push -u origin assets
git rev-parse HEAD  # Print the SHA, which is optional, you'll see below.

构造一个“永久链接”到图像的这个版本,并将其包装在Markdown中。

然而,手动查找提交SHA是不方便的,因此,作为快捷键,按Y键可以永久链接到特定提交中的文件,正如这个help.github页面所说的那样。

要始终显示资产分支上的最新图像,请使用blob URL:

https://github.com/github/{repository}/blob/assets/cat.png 

(从同一个GitHub帮助页面,文件视图显示分支上的最新版本)

在我的例子中,我使用imgur并以这种方式使用直接链接。

![img](http://i.imgur.com/yourfilename.png)

在我的例子中,我想在Github上显示打印屏幕,但也在NPM上显示。尽管使用相对路径在Github内部有效,但在Github之外却无法正常工作。基本上,即使我也将项目推到了NPM(它只是使用了相同的readme.md),图像也从未显示。

我尝试了几种方法,最后这对我有用:

![预览](https://raw.githubusercontent.com/username/project/master/image-path/image.png)

我现在可以在NPM或任何其他我可以发布我的包的地方正确地看到我的图像。

在新的Github UI中,这对我有用-

示例-在文件夹(myFolder)中提交image.png,并在README.md中添加以下行:

![Optional Text](../main/myFolder/image.png)