Gitの基本
使用前にGitの設定
(多くの人が一緒に作業するときに便利)、ユーザー名と電子メールの設定
設定名
$ git config --global user.name xxxx
設定し、メールボックス
$ git config --global user.email [email protected]
コンフィギュレーションが成功したかどうかを確認してください
$ git config --list
注意:
変更設定 - >コマンドを繰り返します
または直接修正する
C:\Users\用户\.gitconfig
パスは一様ではありません
ステップ提出
git init
初期のgitリポジトリgit status
ファイルのステータスの表示git add
ファイルリストのトレースファイルgit commit -m 提交信息
リポジトリにコードを提出git log
ビューには、レコードを提出する
git log --pretty=oneline
単純なコミットレコードを参照してください
変更の取り消し
ステージング領域内のファイルと作業ディレクトリにあるファイルを上書き:
git checkout
メイクの作業領域内の文書は、完全撤退を変更します
git checkout -- 文件名
元に戻すには、2例に分け:
1.readme.txtを自動的に変更した後ではなく、ステージング領域に、バックを使用して正確にリポジトリ同じ状態への変更を元に戻します。
2.もう一つは、readme.txtをすでにステージング領域を置くことである、と彼らはステージングエリアを追加した後、元に戻すには状態に戻って変化変更を行いました。
ファイルをステージング領域から削除されます。
git rm --cached 文件名
更新レコードで指定された回復gitリポジトリが出てきて、ステージングエリアと作業ディレクトリを取り上げます。
git reset --hard commitID
Gitは、著者で変更情報をコミット
使用して、作者を変更--amend:
git commit --amend --author=‘xxx <[email protected]>’
入力
git rebase --continue
末端修飾
以前のバージョンに戻ります
`` git reset --hard HEAD^ `` 回溯到上一个版本
`` git reset --hard HEAD^^ `` 回溯到上上个版本
`` git reset --hard HEAD~100 `` 回溯到100个版本之前
ファイルの内容を見ます
cat 文件名称
高度なGitの
ブランチ
メインラインの開発に影響を与えないようにコピーし、
支店細分化
- メインブランチ(マスター):最初に、自動的にgitリポジトリにレコードを更新生成したブランチを提出しました。
- 開発ブランチ(開発):、ブランチとして開発マスターブランチに基づいて作成されました。
- 機能ブランチ(機能):特定の支店の開発の関数としてのブランチベースの開発を作成します。
分岐命令
git branch
ビューブランチgit branch 分支名称
ブランチを作成しますgit checkout 分支名称
スイッチングブランチgit checkout -b 分支名称
作成し、スイッチブランチに(すなわち、最初の二つを組み合わせました)git merge 来源分支
マージブランチgit branch -d 分支名称
削除ブランチ(分岐状態で動作させることができない)( - Dは、大文字を除去することを余儀なく)
注意:
あなたがコミットし、メインブランチを切り替えたい開発ブランチファイルの後、支店またはファイルは、メインブランチの内側に表示されます。
一時的に変更を保存
gitのは、変更をコミットするだけで、開発者は他の作業への一時的なターンのクリーンコピーを取得することができますブランチおよびストアでのすべての変更を抽出することはできません。他の枝に、あなたができる「スティック」、「クリップボード」にコピーします。
シーン:
- 一時的な変更を保存します:
git stash
- 一時的な変更を復元します。
git stash pop
Githubの
登録Githubのアカウント
マルチプレイ共同開発プロセス
- ローカルリポジトリは、お使いのコンピュータに作成されます
- Aは、GitHubの中にリモートリポジトリを作成します
- ローカルレポジトリは、リモートリポジトリにプッシュします
git push
- Bは、地域の発展にリモートリポジトリのクローンを作成しました
git clone
- リモートリポジトリにプッシュコンテンツに対してBローカル倉庫開発
git push
- リモートリポジトリの最新のローカルコンテンツは、私を得ました
git pull
倉庫を作成します
リモートリポジトリにプッシュ
git push **远程仓库地址** 分支名称
git push 远程仓库地址别名 分支名称
git push -u 远程仓库地址别名 分支名称
-u
PUSHアドレスと分岐を覚えて、次のみ入力する必要がありますgit push
git remote add 远程仓库地址别名 远程仓库地址
最初の提出は、コンピュータが資格情報マネージャでパスワードを覚えています、ユーザー名とパスワードを必要とし、二つ目は持っていなかったでしょう。
プル倉庫
- ローカルにクローンリモートリポジトリ:
git pull 仓库地址
クローニング倉庫
- ローカルにクローンリモートリポジトリ:
git clone 仓库地址
リモートリポジトリの最新バージョンを引いて
- 最新バージョンでは、ローカルにリモートリポジトリを引っ張っ:
git pull 远程仓库地址 分支名称
解決の競合
2人が同じ場所で同じファイルを変更した場合、人々は、同じプロジェクトを開発する場合
git pull
- 手動での解決の競合
git push
クロスチームコラボレーション(githubの)
fork
そのリモートリポジトリへclone
ローカルに変更するにはpush
リモートリポジトリへpull request
原作者に送られました- 原作者の閲覧
commit
監査を - 著者
merge pull request
SSHログイン回避の密(推奨)(改善されます)
キーを生成します。
ssh-keygen
キーストアディレクトリ:
C:\User\用户\\.ssh
公開キー名:
id_rsa.pub
プライベートキー名:
id_rsa
キーのGithubを追加
SSHアドレスをコピーします。
sshのエイリアスを設定します:
$ git remote add origin_ssh SSH地址
リモートプッシュ:
$ git push origin_ssh master
Gitはリストを無視します
- このファイルに追加されたファイル名にする必要はありませんコマンドのgitのを実行するとき、それは、これらのファイルを無視します
touch .gitignore
ルールのアクション
/mtk 过滤整个文件夹
*.zip 过滤所有.zip文件
/mtk/xiaojian.py 过滤某个具体文件
!xiaojian.py 不过滤某个具体文件
注:あなたは.gitignoreファイルを作成する場合は、特定のファイルをプッシュする前に、あなたはファイルのルールをフィルタリング.gitignoreファイルに記述した場合でも、ルールは仕事、Gitはまだファイルのバージョン管理を行いますしません。
設定の構文
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录。
注:ルールのマッチングトップダウンからの行によって.gitignoreプロファイル用のgit
説明の倉庫を追加するには
倉庫のルートディレクトリに追加readme.md
するファイル
一般的なグラフィカルな管理ツール(GUI)
デスクトップ用のGithub:Githubの関係者は生産します
Sourseツリー:古いGUI
TortoiseGit:すなわち、カメgitの