2011-12-04 4 views
0

私はgithubにアクセスできないと言います。私のローカルリポジトリは私にとってどのように役立つのですか?ファイルを旧バージョンにロールバックすることはできますか?もしそうなら、それはどうやって行なわれますか?私のローカルリポジトリにアクセスするだけで、古いバージョンのファイルを表示して使用できますか?

+6

あなたのローカルレポは完全なgit repoでなければなりません。 http://book.git-scm.com/を読んだことがありますか? – Mat

+1

これは基本的に分散VCSの*全体のポイント*です。バックアップして、バージョンコントロールの一般的な考え方を理解し、具体的な質問をする必要はないようです。 [The Git Parable](http://tom.preston-werner.com/2009/05/19/the-git-parable.html)は、Gitの中核的な仕組みを紹介する素晴らしい技術ではありません。コミュニティーブック(Matのリンク)と[Pro Git](http://progit.org/book/)も人気があります。 – Cascabel

答えて

1

ローカルリポジトリには完全な履歴が含まれています。これは、あなたのgitの履歴のグラフィカルエクスプローラであるgitkを起動すると簡単に表示されます。

古いバージョンのファイルを取得するには、たとえばgit checkout <revision> <file>を使用します。たとえば、git checkout HEAD^ foo.txtは、前のリビジョンのfoo.txtを返します。

古いバージョンのファイルを調べる別の方法は、git show <revision>:<path>です。これは、ファイルの古い内容をページャーに表示し、作業中のツリーにチェックインするのではなく、表示します。

他のリポジトリ(ここではgithub)にアクセスするコマンドは、git push,git pullおよびgit fetchです。他のすべてのgit操作は、ローカルで利用可能な情報のみで動作します。

+0

さて、ネットワーク操作を実行するいくつかのコマンドがあります( 'git remote'が気になります)。それ以外は+ – knittl

+0

ええ、私は単純化していました:) – opqdonut

0

あなたのローカルリポジトリには、それに含まれるブランチのプロジェクト履歴全体があります。 githubにリストされているすべてのブランチを含んでいるわけではないことに注意してください。

git-checkout man pageには、さまざまなバージョンへのアクセス方法と、構文が若干異なるgit-show man pageがあります。おそらくGit Bookのreset sectionも読んでください。

つまり、git checkout <revision> <file>は現在の作業を1つの書式<revision>およびgit show <revision>:<file>に置き換えて表示しています。 HEADは最後にコミットされたリビジョンの名前で、HEAD^は前のリビジョンです。 git logはすべてコミットメッセージでそれらをすべてリストします。

本当にクールなものを見たい場合は、git-bisectをご覧ください。 :)

関連する問題