DUICUO

Gitについて知らなかったこと

先週の金曜日、`git reset --HARD <commit-id>` を使用したためにコミットが失われました (これはひどい結果でした)。そこで、Git をもう一度学習する時期だと判断しました。

この記事では、Git の基本ではなく、あまり知られていないことや、一度か二度しか使用したことがない内容について説明します。

1. リセットからコミットを復元する --HARD

`git reflog` コマンドを使用するだけです。( Gittenberg提供)

2. 違い

2 つのブランチ間の違いを確認したい場合は、次のように実行します: git diff branch1..branch2。

3. 正規表現を使用して、送信された情報を照合して表示します。

コマンド `git show :/fixes` を使用すると、コミット メッセージに渡された文字列 (この例ではfixes ) が含まれる最新のコミットを見つけることができます。

4. git pushのデフォルトの動作を制限する

`git push` を実行すると、デフォルトの動作ではすべてのブランチがリモートリポジトリにプッシュされます。これは多くの問題を引き起こす可能性があります。これを回避したい場合は、`git config --global push.default tracking` を使用してください。

更新: Git 2.0 ではこのデフォルトの動作が削除されました: http://blog.nicoschuele.com/posts/git-2-0-changes-push-default-to-simple

5. ブランチに切り替えてリベースし、マスターにマージします。

次のように実行できます: `git rebase HEAD feature && git rebase HEAD @{-2}`

6. Gitは作業状態を保存する

作業がまだ終わっていないが、緊急に対応しなければならない事項がある場合は、`git stash` を使用して変更を保存し、緊急タスクを送信してから、`git stash pop` を使用して保存した状態を復元できます。

7. エイリアス

`checkout` を何度も入力するのは面倒ですか? `git config --global alias.co checkout` を試してみてください。その後、`git co master` コマンドでマスターに切り替えられます。

8. ローカルブランチの名前を変更する

コマンド「git branch -m old-name new-name」を使用すると、ローカル ブランチの名前を簡単に変更できます。

9. 著者名で検索

特定の著者によるコミット レコードを検索するには、`git log --author=Matheus` を使用できます。

10. git statusにパラメータを追加する

ほとんどの人は `git status` のみを使用しますが、パラメータを渡してステータスの表示方法を変更できます。

`git status -sb` を使用すると、次のような出力が得られます。

## マスター
 M ジェムファイル
 M Gemfile.lock
 M アプリ/コントローラ/home_controller.rb
 M アプリ/ビュー/ホーム/index.html.erb

参考文献

  • http://mislav.uniqpath.com/2010/07/git-tips/

  • http://www.andyjeffries.co.uk/25-tips-for-intermediate-git-users/

  • http://rypress.com/tutorials/git/tips-and-tricks.html

  • http://git-scm.com/

オリジナルリンク: http://www.open-open.com/news/view/1b81290