Gitのコマンドといくつかのよくある質問を取得


Gitは、オープンソースの分散バージョン管理システムであり、非常に大規模なプロジェクトのバージョン管理に非常に小さいから有効な、高速処理することができます。今、最も一般的なのは、githubの、雲や他のコードされている自分自身の使用のためのプラットフォームを参照してくださいが、基本的なコマンドGitはまだ同じです。ここで著者はまた、質問がある場合は、我々は多くの参加を明記してください、あなたの参考のために通常のGitのコマンドの一部をまとめたもの 遼雪峰の公式サイト 、ここで私は単純に合計し、またサイトを参照してください、コマンドの詳細な説明をいくつかのコマンド。


基本的な手順をアップロード

1. githubの上のリモートリポジトリを確立

2ローカルフォルダを入力するには、コマンドライン、コマンドを実行します。

$ git init

3.コマンドを実行し、リポジトリにアップロードファイルを追加します。

$ git add.

4.提出命令、コマンドを実行します。

$ git commit -m "文件说明"

5.リモートリポジトリメインブランチに接続されたローカルリポジトリの変更:

$ git pull origin master

6.関連付けgithubのリポジトリ、コマンドを実行します。

$ git remote add origin [url]

7.ネイティブコードをアップロードし、コマンドを実行します。

$ git push -u origin master

ダウンロードコマンド

$ git clone  [url]

その他のコマンド

コンフィギュレーション

  • 表示され、現在のgitの設定:
$ git config --list
  • コンフィギュレーション・ファイルのgitを編集
$ git config -e [--global]
  • コードの提出時にユーザ情報を設定します
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

追加/削除ファイル

  • ステージングエリアに指定されたファイルを追加します。
$ git add [file1] [file2]
  • サブディレクトリを含む、ステージングエリアに指定されたディレクトリを追加します。
$ git add [dir]
  • ステージングエリアに現在のディレクトリ内のすべてのファイルを追加します。
$ git add .
  • 同じファイルの多くのバリエーションのために提出段階的に達成することができます
$ git add -p
  • ワークスペースファイルを削除し、ステージングエリアに削除
$ git rm [file1] [file2]
  • 停止は、指定したファイルを以下のが、ファイルがワークスペースに保持されます
$ git rm --cached [file]
  • ファイルの名前を変更し、ステージング領域に変更されます
$ git mv [file-orignial] [file-renamed]

コードを送信します

  • ステージングエリアの倉庫街に提出
$ git commit -m [message]
  • ステージング領域の指定記憶領域にファイルを送信
$ git commit [file1] [file2] ... -m [message]
  • 最後からの変更点は、直接倉庫街に、作業エリアを提出コミット
$ git commit -a
  • 差分を提出されたすべての情報を表示
$ git commit -v
  • 新しいを使用してコミット、代替をコミット
  • コードは、新しい変更がない場合は、上の情報の提出を書き換えるためにコミット
$ git commit --amend -m [message]
  • 最後のコミットやり直し、およびファイルを指定された新しい変更が含まれ
$ git commit --amend [file1] [file2] ...

ブランチ

  • すべてのローカルのブランチを一覧表示
$ git branch
  • すべてのリモートブランチを一覧表示
$ git branch -r
  • すべての支店やリモートブランチを一覧表示
$ git branch -a
  • 新しいブランチを作成しますが、それでも現在のブランチに残ります
$ git branch [branch-name]
  • に新しいブランチを作成し、分岐スイッチ
$ git checkout -b [branch]
  • コミット指定に新しいブランチを作成します。
$ git branch [branch] [commit]
  • 新しいブランチを作成し、リモートブランチと追跡の関係は、指定されました
$ git branch --track [branch] [remote-branch]
  • 指定されたブランチに切り替えて作業領域を更新
$ git checkout [branch-name]
  • ブランチに切り替え
$ git checkout -
  • 指定された既存のブランチとリモートブランチ間のトラッキングの関係を作成します。
$ git branch --set-upstream [branch] [remote-branch]
  • リモートブランチにプッシュ
$ git push origin master:master
  • 現在のブランチにブランチをマージします
$ git merge [branch]
  • 選択してコミット、現在のブランチにマージ
$ git cherry-pick [commit]
  • 削除された枝
$ git branch -d [branch-name]
  • 削除リモートブランチ
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

タグ

  • 全てのTAをリスト
$ git tag
  • 現在でコミット新しいタグを作成します。
$ git tag [tag]
  • 指定された中で新しいタグを作成してコミット
$ git tag [tag] [commit]
  • ローカルタグを削除
$ git tag -d [tag]
  • 削除リモートタグ
$ git push origin :refs/tags/[tagName]
  • 表示タグ情報
$ git show [tag]
  • 指定されたタグを提出
$ git push [remote] [tag]
  • すべてのタグを提出
$ git push [remote] --tags
  • タグを指して、新しいブランチを作成します。
$ git checkout -b [branch] [tag]

情報を表示

  • 文書があります変化を示します
$ git status
  • このブランチの歴史の現在のバージョンを表示します
$ git log
  • コミット履歴表示、およびすべてのは、変更されたファイルをコミット
$ git log --stat
  • キーワードに基づいて、あなたの履歴を検索します
$ git log -S [keyword]
  • すべての変更をコミットを示した後、各占有行をコミット
$ git log [tag] HEAD --pretty=format:%s
  • すべての変更は、検索条件に一致する必要があります「コミット」は、コミットを示した後、
$ git log [tag] HEAD --grep feature
  • ファイルを含むファイルのバージョン履歴は、名前を変更した表示
$ git log --follow [file]
$ git whatchanged [file]
  • 各差分に関連したファイルを表示します
$ git log -p [file]
  • 提出した最後の5つを表示します
$ git log -5 --pretty --oneline
  • すべてのユーザーは、提出されコミットの数でソート
$ git shortlog -sn
  • 表示指定したファイルには、どのような時に人が修正するものです
$ git blame [file]
  • 市外局番の違いや作業領域をステージング表示
$ git diff
  • ステージング領域の違いを表示してコミット
$ git diff --cached [file]
  • 最新の現在のブランチをコミットワークスペースとディスプレイの違い
$ git diff HEAD
  • 2つのコミットディスプレイの違い
$ git diff [first-branch]...[second-branch]
  • あなたが書くどのように多くのコードの行今日のショー
$ git diff --shortstat "@{0 day ago}"
  • メタデータとコンテンツの変更をコミット表示します
$ git show [commit]
  • ショーその書類の提出の変化
$ git show --name-only [commit]
  • 提出は、ファイルの内容を表示するとき
$ git show [commit]:[filename]
  • 数回は、最近提出され、現在のブランチを表示
$ git reflog
  • マスターからコードを引っ張ると、現在のローカルブランチを更新:ブランチ一般マスター
$ git rebase [branch]

リモート同期

  • リモートストレージを更新
$ git remote update 
  • すべての変更は、リモートリポジトリをダウンロード
$ git fetch [remote]
  • すべてのリモートリポジトリを表示
$ git remote -v
  • リモートリポジトリの情報を表示します
$ git remote show [remote]
  • 新しいリモートリポジトリを追加し、命名
$ git remote add [shortname] [url]
  • 変更は、リモートリポジトリを取得し、ローカルブランチとマージ
$ git pull [remote] [branch]
  • 指定されたリモートリポジトリにローカルブランチをアップロード
$ git push [remote] [branch]
  • 強制的に競合がある場合でも、リモート倉庫に現在のブランチをプッシュ
$ git push [remote] --force
  • リモートリポジトリに、すべての枝をプッシュ
$ git push [remote] --all

元に戻します

  • ステージングエリア指定された作業領域にファイルを復元します
$ git checkout [file]
  • ステージングエリアと作業エリアにコミット指定されたファイルを復元します。
$ git checkout [commit] [file]
  • 作業領域へのすべてのファイル回復ステージングエリア
$ git checkout .
  • 最後は、一貫性のあるコミットして、一時領域指定されたファイルをリセットしますが、同じワークスペースは、
$ git reset [file]
  • 作業領域にステージング領域をリセットし、そして最後の一貫したコミット
$ git reset --hard
  • 与えられたために現在のブランチのポインタをリセットしてステージング領域をリセットすると同時に、コミットが、同じ作業領域は、
$ git reset [commit]
  • コミット割り当てと一致し、現在のブランチのHEADは、ステージングエリアと作業領域をリセットするために、同時に、コミット指定リセット
$ git reset --hard [commit]
  • コミット指定されたが、そのままステージングエリアに残り、作業エリアに現在のHEADをリセット
$ git reset --keep [commit]
  • コミットを作成し、取り消しを指定するためにコミット
  • 後者のすべての変更は、元によって相殺され、現在のブランチに適用されます
$ git revert [commit]
  • 一時的に削除UNCOMMITTED変更してから、後で移動
$ git stash
$ git stash pop

他の

  • 圧縮されたパッケージのリリースが利用可能に生成します
$ git archive

エラーと解決策

エラー:「:plafeng / git_command.git [email protected]」にいくつかの参照文献をプッシュすることができませんでした

ヒント:アップデートをリモートワークが含まれている時にあなたが行うことために拒否された
ローカルこれは通常、別のリポジトリをプッシュによって引き起こされているヒントを:.していない
第一にしたいリモートの変更に統合することがありますすることにより、同じ、REFのに:.ヒントが
ヒント:(EGを、「gitの...「再びプッシュする前に)。プル
ヒント:見る」。Gitのプッシュ--help 『の』早送りに関する注意詳細について
以下:ここに画像を挿入説明
エラー原因:README.mdのgithubのファイルのネイティブコードのディレクトリにない
ソリューション方法:コードは、次のコマンドによって組み込むことができます

git pull --rebase origin master

上記のコードを実行した後、あなたは、その後、再実行文をネイティブコードライブラリよりREADME.mdファイルを見ることができますgit push -u origin mastergithubのにアップロードされたコードを完了するために、

エラー:次のファイルをローカルの変更は、マージによって上書きされます:マージは、ローカルファイルに次の変更をカバーします:あなたが(エラーをマージする前に変更をコミットするか、それらを隠しておくしてください:

変更を提出するか、合併前にそれらを保管してください。
ここに画像を挿入説明
ソリューション

  1. ネイティブコードへのサーバーコード
$ git stash	//暂存当前正在进行的工作
$ git pull origin master		//拉取服务器的代码
$ git stash pop		//合并暂存的代码
  1. サーバーのコードカバレッジネイティブコード
$ git reset --hard 		//回到上一个版本
$ git pull origin master

倉庫の前のローカルバージョンに戻ります

今日は、ローカルファイルアン・エラーは、アップロード中に発生した、地元の同僚は、ローカルのファイルがなくなっている、ファイルを引っ張って、非常に深刻なミスを犯しました。この問題が発生した場合、慌てないでください、私は言う、あなたは
まず、自分のローカルリポジトリの状況の変化を表示するには、以下のコマンドを実行します

$ git reflog

次に、以下のコマンドを実行し、状態に戻ることを選びました

$ git reset --hard ac70ec1

ここで「ac70ec1」ステップ数

このブログは参考のためにあなたの助けのための唯一の希望であります

公開された65元の記事 ウォンの賞賛141 ビュー190 000 +

おすすめ

転載: blog.csdn.net/Silent_F/article/details/83927011