インストールが完了したら、さらにユーザー名とメールアドレスを設定する必要があります。 git は分散バージョン管理ツールであるため、各開発マシンは独自の場所を報告する必要があります。
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
このうち --global は、設定内容をシステム全体のすべてのユーザーに適用するようにグローバルに設定することを意味します。後ほど、設定ファイルに直接設定する方法も紹介します。
gitの各種コマンド
git init - バージョンライブラリを初期化する
git add - 追加または変更した内容を一時ライブラリに入れる
git commit - 一時ライブラリの内容を送信する
git status - ステータスを確認する
git diff - 2つのバージョンの違いを比較
git log - バージョンログを表示
git reflog - 実行されたコマンドログを表示
git replace - 過去のバージョンをロールバック
git rm - リポジトリから削除
git checkout - ブランチを切り替える
git ブランチ- ブランチの作成または表示
git merge - ブランチのマージ
git stash - ワークスペースの保存
git tag - タグの作成または表示
git Remote - リモート リポジトリの名前を表示
git Push - ローカル ライブラリのバージョンをリモート ライブラリにプッシュ
git pull - リモートからライブラリをローカル ライブラリにプルします
git clone - リモートまたはローカルの場所から指定した場所にリポジトリのクローンを作成します
空のディレクトリまたはコンテンツを含むディレクトリを git バージョン コントローラに追加します。これは追跡され、 gitによって管理されます。
git init
コマンドが実行されると、カレントディレクトリに .git ディレクトリが生成されますが、これは非表示になります。このディレクトリは簡単には変更できず、すべての git 設定はこのディレクトリに保存されます。
追加または変更したファイルを一時リポジトリに保存します。
git add [file]
変更されたすべてのファイルを一時リポジトリに保存します。
git add -A
git commit
ステージング領域の内容をリポジトリに送信します。各提出物にはコメントを添える必要があります。
git commit -m "comment"
ファイルの変更または削除が add または rm によって一時記憶域に置かれない場合は、-a パラメーターを追加して直接送信することもできます。 (追加はaddでステージング領域に追加する必要があります)
git commit -a -m "comment"
ファイルがステージング領域に配置されているかどうかに関係なく、ファイルが変更されているかどうかを確認します。 git が監視している限り、このコマンドを使用してファイルの追加、変更、削除をすべて表示できます。
git status
ステージング領域に送信されていない変更と以前のバージョンの違いを比較します。
git diff [文件]
ステージング領域に送信されたすべてのファイルを比較します。
git diff
送信後に操作ログを表示し、すべてのバージョン情報を記録します。ログ情報に基づいて、指定したバージョンにロールバックできます。
git log
ブランチマージグラフを表示
git log --graph
フォーマットされた表示効果
$ git log --graph --pretty=oneline --abbrev-commit
すべての履歴を表示実行されたコマンドの数。
git reflog
過去のバージョンに戻します。コミットの実行後に後悔した場合は、このコマンドを使用してロールバックできます。
現在のコミットされていない変更を破棄するなど、現在のバージョンに戻します。
git reset --hard head
前のバージョンにロールバックしたい場合は、
git replace --hard head~1
head~ に変更し、その後に現在のバージョンからどのバージョンにロールバックするかを示す数字を続けます。
特定のバージョンへのロールバックを指定することもできます。まず、git log でバージョン ID 番号を確認し、ID 番号に基づいてロールバックします。 ID番号は上4桁のみ記入可能です。
git replace --hard [id]
ファイルを削除するには 2 つの方法があります
リポジトリを送信する必要がある場合は、フォルダーから直接削除します。ただし、リポジトリは削除されていません。を使用するには、git rm を使用してから、git commit を使用して送信する必要があります。
git rm を使用して削除すると、ファイルはリポジトリとワークスペースの両方から削除され、git commit を使用して送信されます。
使用法:
git rm [file]
ブランチを切り替えます。
git checkout [ブランチ名]
このブランチを作成して切り替えます。
git checkout -b [ブランチ名]
ブランチを表示します。
git ブランチ
ブランチを作成します。
git ブランチ [ブランチ名]
ブランチを削除します。
git branch -d [分支名称]
削除されたブランチがマージされていない場合は、強制削除が必要です。
git Branch -D [ブランチ名]
素早くマージし、マージされたブランチのポインタを直接変更します。マージされたブランチ間に競合がある場合は、送信する前に競合を手動で解決する必要があります。 git merge [マージされたブランチ名]
ブランチを素早くマージした後、ブランチを削除すると、ブランチのマージ操作はログレコードに記録されません。ブランチ マージ操作を記録できるようにするには、高速マージを無効にする必要があります。
git merge --no-ff
存储当前工作区。如果任务进行到一半,需要解决其他版本的问题,比如修复BUG。当前进行的操作可暂时保存下来,解决问题再恢复。
git stash
查看所有保存的工作现场。
git stash list
恢复保存的工作现场。git stash apply [工作现场名称]
恢复后删除工作现场
git stash drop [工作现场名称]
恢复最后保存的工作现场并同时删除
git stash pop
给最新的版本加上标签。
git tag [标签号]
给历史版本加上标签。版本id可以通过git log查看。
git tag [标签号] [版本id]
创建带有说明的标签。git tag -a [标签号] -m "标签说明" [版本id]
删除标签。
git tag -d [标签号]
如果不想搭建自己的git服务器,可以选择使用Github。这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这
目录下有没有idrsa和idrsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C [你的email]
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有idrsa和idrsa.pub两个文件,这两个就是SSH Key的秘钥对,idrsa是私钥,不能泄露出去,idrsa.pub是公钥,可以放心地告诉任何人。第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。
在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。git remote
通过git remote命令关联远程库。
git remote add origin [你的github地址]
查看远程库信息git remote -v
将本地库提交到远程库git push origin [分支名称]或
git push origin -u [分支名称]
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时可以简化命令。git
pull
如果向远程库推送失败,有可能远程库已有新版本导致冲突,那么需要使用git pull从远程库将新版本拉取到本地,手动解决后再推送。
git pull
如果pull也失败,有可能没有与远程库关联,下面是关联方法:git branch --set-upstream [分支名称] origin/[分支名称]
git clone [你的git地址]
从远程克隆下来的项目只能看到master分支,如果要抓取其他分支可以使用git checkout。git checkout -b dev1 origin/dev1