Git的总结

由于我的脑子不太好,所以我把一些基本的东西记下来。

Git的概念

一开始有三个地方:
1、工作目录
2、索引
3、仓库(本地、远程)
在这三个地方进行各种操作。最终将文件保存在仓库内。

指令

设定

git config -lgitの設定を確認
git config –global ******gitの設定
ex) user.name, user.email, color.ui
git config –global alias.略語 [command]gitコマンドのエイリアスを設定する。
ex) git config –global alias.m merge
git config –helpgit設定のhelpを表示

文件操作

git init今いる作業dirでgit使うよーっていう宣言
git add [file]作業dir内の[file]をインデックスに追加。[file]を.(ピリオド)にすればカレントdir内全部のファイルを指定することになる*addしたくないファイル(.logファイル等)を指定するには、vim .gitignoreでignore用のファイルを作成・展開し、その中で無視したいファイル名を指定する
git commitインデックス内のファイルをローカルリポジトリにコミット。option
-a: 変更されたファイルを自動的に感知し、addからコミットまで全部やってくれる。
-m: メッセージを指定してコミットできる。-mなしだとvimが立ち上がって書く事になる。
–amend: 直前のコミットを変更する。コミットログを無駄に増やしたくない時等に使える。
git logコミット履歴(コミットID,製作者,日付,メッセージ)を表示option
–oneline: 簡易的な履歴(ID上7桁,メッセージ)を表示。
–stat: どのファイルが何箇所変更したかも表示。
-p: 変更された箇所も表示。
git status変更されたファイルの一覧表示option
-s: 説明文を非表示。
-d: 説明文を非表示。ブランチ名は表示。
git checkout — [file]作業dir内では変更したが、まだインデックスには保存していない[file]を変更前に戻す
git diff作業dir内とインデックス内の違いを表示option
–cached: インデックス内とローカルリポジトリ内の違いを表示。
git rm/mv [file]普通にrm,mvしちゃうとgitが混乱するから、一度git initした作業dir内ではこのコマンドを使ってファイル操作しなければならない
git reset [target] [version][target]を部分を[version]まで戻す[target]
–soft: ローカルリポジトリ内のみ。
(no option): ローカルリポジトリ内とインデックス内。
–hard: 全部(LocalRepoもIndexもWorkingDirも)[version]
ID: コミットIDで指定。最低上7桁を含む。
HEAD: 直前のコミット内容を指定。
HEAD^: HEADの更に一つ前。
ORIG_HEAD: 直前にresetしたコミットを指定。間違えてresetした時等に利用。
git tag [tag] [commitID][commitID]で指定したコミットに[tag]を付けることが出来る。
IDを指定しなかった場合、直近のコミット(HEAD)を指定することになる
git tagタグの一覧を表示するoption
-d [tag]: [tag]を削除する
git show [tag][tag]コミットの詳細を表示する。[tag]はIDでも可

分支

git branch今あるブランチを確認(デフォルトでmaster)
git branch [branch][branch]を作成option
-d: [branch]を削除。
git checkout [branch][branch]へ移動optional
-b [branch]: [branch]を作成し、移動。
git merge [branch][branch]をカレントブランチへmerge(混ぜる)

公共存储库

建立共享仓库时,最基本的规则是在目录名称的末尾添加.git。

git init –bare共有リポジトリのgit宣言をする時はoptionとして–bareを付ける
git remote別のリポジトリを操作する際に使用するコマンド
オプションとして-vを付けるとリモートリポジトリの詳細を表示する
git remote add [repository] [position]リモートリポジトリ[repository]を生成する。[position]で指定したディレクトリを参照する。URL([position])さえ覚えておけばやる必要は無いが、普通やる
ex) git remote add origin https://github.com/hogehoge/gitTest.git*リポジトリのURLを間違えたりすると設定したremoteを取り消したくなる。
git remote -v: 設定したリモートを確認
git remote rm [repository]: 指定したremote設定を削除
で取り消すことができる。
git remote rm [repository]リモートリポジトリ[repository]を削除する
git push [repository] masterリモートリポジトリ[repository]にローカルリポジトリの内容をプッシュする。ローカルのmasterブランチをリモートのmasterブランチに反映させている
git clone [remoteRepository] [workingDir][remoteRepository]の中身を新たな作業dir[workingDir]として複製する。
リモートリポジトリへのリンクもそのまま引き継ぐ
ex) git clone ~/origDir/ cloneDir
git fetchリモートリポジトリの内容をリモート追跡ブランチにコピーする
git pull [remoteRepository] master[remoteRepository]のブランチmasterからプル(プッシュの逆)。fetchとmergeを組み合わせた様なものgit fetch
git merge origin/master
と同じ

注意事项

在进行合并(merge)或推送(push)时,经常会出现冲突(conflict),可能是因为其他人正在修改相同的部分。我们可以使用拉取(pull)、获取(fetch)或变基(rebase)来解决这个问题。

请提供一个参考网址

・即使是猴子也能明白的git入门教程:
http://www.backlog.jp/git-guide/
・git pull的解释:

git pull と git pull –rebase の違いって?図を交えて説明します!


・当push被拒绝时的解决方法:

【git】git pushがrejectされたときの対応方法


・push,origin,master是什么:
http://dqn.sakusakutto.jp/2011/10/git_push_origin_master.html

广告
将在 10 秒后关闭
bannerAds