如何只提交一些新文件并忽略修改后的文件?

时间:2018-05-09 09:32:07

标签: git github

使用var thumbnail = UIImage() for item in parser.parsedData { let currentDictionary = item as Dictionary<String,String> let title = currentDictionary["title"] let link = currentDictionary["link"] let urlString = currentDictionary["media:content"] let url = NSURL(string: urlString!) if urlString != nil { let url = NSURL(string: urlString!) DispatchQueue.global().async { let data = try? Data(contentsOf: url! as URL) DispatchQueue.main.sync { thumbnail = UIImage(data: data!)! } } } var newsArticle: News! newsArticle = News(title: title!, link: link!, thumbnail: thumbnail) news.append(newsArticle) 我想只将一些新添加的文件提交到repo中,但忽略一些已修改的文件(被病毒感染)。

我该怎么做?

我想将这些文件保存在repo中,我只是不想提交损坏的文件。

我试过

UIImageView

我也可以

git

但是那些文件将从repo中删除,我想保留旧版本......

也许我可以添加我想要添加的文件并存储其余文件?

3 个答案:

答案 0 :(得分:1)

要添加要添加到遥控器的文件,请使用您所说的命令。

git add _my_new_files_

在提交和推送之后,这应该是你所要做的全部。

如果您最终在提交中添加了错误的文件,例如_updated_files_not_to_add_,那么您可以在使用以下命令推送之前将其从提交中删除:

git reset _updated_files_not_to_add_

答案 1 :(得分:1)

要向Ron Nabuurs' answer添加一个位,请注意git commit从Git的索引获取提交内容,而不是从工作树获取。 (索引也称为临时区域,有时也称为缓存。)当您运行git add file时,Git 复制的内容给定的 file 从工作树到索引。

如果某些工作树文件已损坏,但索引版本完好无损,则可以避免在工作树文件上运行git add。索引版本保持不变,git commit将使用它们。

如果索引版本也已损坏,但HEAD版本完好无损,您可以指示Git使用HEADgit reset版本复制到索引中,如Ron所示:{ {1}}。

将索引视为位于当前(git reset file)提交和工作树之间,因为它确实:

HEAD

从工作树复制到索引的操作是HEAD commit index work-tree ----------- --------- --------- README.md README.md README.md file.ext file.ext file.ext ,从提交复制到索引的操作是git add

(根据定义,任何提交的文件都是只读的,因此没有操作可以从索引复制到提交。当然,您可以进行 new 提交,这将成为您的{{1}使用git reset将索引转换为提交。)

还可以使用命令的HEAD形式中的git commit从任何提交复制到工作树。但请注意,当您执行此操作时,git checkout 首先将文件从给定提交复制到索引,然后从索引复制到工作树,因此这种副本会替换 索引工作树版本。

答案 2 :(得分:0)

我在命令行上执行大多数git操作,但是我发现使用标准gui进行暂存文件和提交更容易。

在linux,osx或git bash中输入git gui &。如果没有出现,则需要安装它。如果您使用的是Mac,我认为git的brew版本附带了gui,但github并不是。 (不确定)

这使您可以直观地显示哪些文件被暂存,甚至可以非常轻松地分割文件行。

您甚至可以在gui中暂存文件,然后在命令行中键入git status并查看该文件是否已暂存。

相关问题