テキストファイルを編集するときに複数のバックアップを持つことはできますか?

テキストファイルを編集するときに複数のバックアップを持つことはできますか?

Gedit私が知っている限り、meditバックアップを保存できるテキストエディタが2つあります。だから、temp.txt次に編集するときというファイルを作成して保存するとtemp.txt~

私の質問は次のとおりです。複数のリビジョンの前に存在していたファイルに戻る場合は、複数のバックアップを持つようにバックアップ名を順番に指定できるテキストエディタがありますか?たとえば、temp.txt最新バージョンがありますが、ちょっと待っていますtemp.bak.1temp.bak.2

これが不可能な場合は、シリアルバージョンが保存されるようにバックアップが作成されるたびにバックアップ名を自動的に変更するいくつかのスクリプトがありますか?一つでもtemp.timestamp.txtいいでしょう。

nano(テキストエディタソリューションは気に入らない。)


明確にする必要があるのは、私はコーダーやプログラマーではないということです。私が編集したテキストファイルの以前のバージョンが欲しいです。これらのテキストファイルは.cssテーマの一部を構成できます。したがって、テーマファイルの特定の側面を編集する場合は、変更が気に入らない場合に備えて少し後ろに戻ることができます。.rc.svg

ベストアンサー1

Mercurialを使用してバージョン管理を実行する簡単な方法があります。まずインストールしてください。

~/.hgrcMercurial を構成するには、次のコンテンツを含むファイルを作成します。

[ui]
username = Your name <your mail>
verbose = True

一部のMercurialサーバーを使用している場合は、このファイルにさらに情報を追加できます(読み取りman hgrc)。

次に、cdテキストファイルを含むディレクトリに移動します。たとえば、

> cd /tmp
> mkdir data && cd data
> cat > text_file.txt
Hello, this is a file.

必要に応じてファイルを追加することもできます。その後、Mercurialを初期化する必要があります。

> hg init

既定ではまだファイルがないので、すべてのファイルを含めたいと Mercurial に伝える必要があります。

> hg st
? text_file.txt
> hg add    
adding text_file.txt
> hg st
A text_file.txt

これで簡単なコミットを行います。

> hg comm -m 'first run'
text_file.txt
committed changeset 0:87e90c949984

ここでいくつかの点を修正し、違いを確認してください。

> cat >> text_file.txt 
Add one line.
> hg diff
diff -r 87e90c949984 text_file.txt
--- a/text_file.txt Mon Apr 01 12:52:14 2013 +0400
+++ b/text_file.txt Mon Apr 01 12:53:47 2013 +0400
@@ -1,1 +1,2 @@
 Hello, this is a file.
+Add one line.

今見た後、別のコミットをしてみてくださいhg log。 2 つのコミットが表示されます。

最初のコミットに戻るには、次のようにします。

> hg upd -r 0:87e90c949984
resolving manifests
getting text_file.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> cat text_file.txt 
Hello, this is a file.

次の内容が表示されます。ファイルが古い。

次に、最後のファイルを復元します。

> hg upd                  
resolving manifests
getting text_file.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> cat text_file.txt 
Hello, this is a file.
Add one line.

簡単なスクリプトを書くこともできます。

#!/bin/bash
while true; do
  hg commit -m "commit: $(date)"
  sleep 60
done

ファイルの編集を開始したときに実行すると、各瞬間の変更を確認し、そうであればmercurialは新しいコミットを実行します。また、コメントで述べたように、自動送信にatorを使用することもできます。cron

おすすめ記事