1.構成関連
##### 基本配置 #####
git help <verb> # 获取帮助
git config --list # 列出所有配置
git config --global user.name "Your Name" # 全局设置姓名
git config --global user.email "[email protected]" # 全局设置邮箱
##### Git命令别名 #####
git config --global alias.st status # 查看状态别名
git config --global alias.unstage 'reset HEAD --' # 取消暂存别名
git config --global alias.last 'log -1 HEAD' # 查看最后一次提交别名
git config --global alias.visual '!gitk' # !外部命令别名
第二に、Gitの基本
##### 获取Git仓库(repository) #####
git init # 初始化当前工作目录为仓库
git clone <url> # 克隆现有仓库
git add <fileName> # 开始跟踪(track)文件,支持通配符
git commit -m 'description' # 提交(commit)更改到本地仓库
git commit -a # 提交所有已跟踪的文件
git rm <fileName> # 移除文件,暂存区和磁盘都移除
git rm --cached <fileName> # 移除仓库文件,保留磁盘文件
git mv <oldPath> <newPath> # 移动文件
git log [-p] [-2] [--stat] # 查看提交历史,-p显示差异,-2显示两行
git log --pretty=format:"%h - %an, %ar : %s" # 指定格式,更多查看官方手册
git reset HEAD <file> # 取消暂存文件
git checkout -- <file> # 撤消修改,还原到上次提交/克隆的样子,不可逆
##### 远程仓库 #####
git remote [-v] # 查看远程仓库,-v显示url
git remote add <shortname> <url> # 添加远程仓库,shortname可替代整个url
git fetch [remote-name] # 拉取远程仓库,不自动合并
git pull [remote-name] # 拉取远程仓库,自动合并到当前分支
git push [remote-name] [branch-name] # 推送到远程仓库
git remote show [remote-name] # 查看远程仓库
git remote rename <old-name> <new-name> # 重命名远程仓库
git remote rm <remote-name> # 移除远程仓库
##### 打标签:用于发布结点v1.0 #####
git tag # 列出标签
git tag -l '<glob-content>' # 列出相关标签
git tag -a <tag-name> -m "<annotated-content>" # 创建附注标签(annotated)
git show <tag-name> # 查看标签信息
git tag <tag-name>-lw # 创建轻量标签(lightweight)
git tag -a <tag-name> <md5sum> # 后期打标签,检验和/部分校验和
git push origin [tagname] # 共享标签,默认不会推送标签,故需显示推送
git push origin --tags # 推送所有不在远程仓库的标签
git tag -d <tagname> # 删除本地标签
git push <remote> :refs/tags/<tagname> # 删除后更新远程仓库
##### 状态管理 #####
git status # 检查当前状态
git status -s # 状态简览
git diff # 查看未暂存的修改
git diff --cached # 查看已暂存的修改
文件状态标记释义:
?? 新添加未跟踪的文件
M 修改过未放入暂存区
M 修改过已放入暂存区
MM 同时处于上面的状态
A 新添加到暂存区的
##### 忽略文件.gitignore(自己创建)#####
格式规范:
• 所有空行或者以 # 开头的行都会被 Git 忽略
• 可以使用标准的 glob 模式匹配。
• 匹配模式可以以(/)开头防止递归。
• 匹配模式可以以(/)结尾指定目录。
• 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
3、Gitブランチモデル
git branch <branch-name> # 创建分支
git checkout <branch-name> # 切换分支
git merge <branch-name> # 合并分支
git checkout -b <branch-name> # 新建分支并合并
git branch -d <branch-name> # 删除分支
git log --oneline --decorate # 查看分支当前所指对象
git log --oneline --decorate --graph --all # 查看分叉历史
四、注意点
- されたとトレースのファイルであることを指し、人々されていることを満足し、バージョン管理の文書。
- 初期の時代には、クローニング1つの倉庫をするとき待機、作業ディレクトリカタログのすべてのファイルがある所属されているにして、トレース・ファイル。
- gitの追加これはマルチです機能が命令することができる:可能で始めるためにそれを使用するために追跡新しいファイルを、またはそれらのためになっていると、トレースのファイル入れに一時的なメモリも使用できる領域一緒に、いつする必要があり、競合のファイルマークを表記ソリューションとして必要がありますように述べます。このコマンド処理ソリューションは、「addが追加次へコンテンツを述べた時のポストをに」ではなく「へファイルを追加プロジェクトに。」以上であるために共同の適切な。
-
ファイル に表示される 一時的な メモリ エリア と 非 一時的な 預金 エリア。これは、 どのように 可能 することができ ますか? 本当の 機会 に Gitは 一時的にしか 保存 、実行するgitの追加など、バージョンのコマンドを使用すると、もし今言及有料、ファイルのバージョンをであるあなたの最高の後の実行 gitの追加 代わりに、コマンドのバージョンことをあなたが実行するgitのコミット時に、作業ディレクトリに記録された現在のリリースで。
-
gitのdiffの存在 自体が のみ 表示され 、まだ一時的な メモリ ではなく、からの変更を 回言及した ポストを ので、 行う すべての変更を。だから、時々 待っている あなたが 見て 、サブ すべての更新ステージング ファイル の後に 実行されている Gitの差分を した後 が、 どのような なかった、ある 元 の原因。
-
Gitは、このコマンドは--amendコミット され 、一時的に 保存された ゾーン ファイルの言及の 賃金を 。 場合 に 言及した回 の投稿を するので 、あなたが また しなかっ 作る任意の改正は、 (変更 例 のように 述べ回 の投稿を した後、 馬は 上の実行 行 の コマンド)、そして それは 、高速 写真は なり ながら、変わらない あなたが されている 修復 のみ変更します 提供 クロス チャネル の情報を 。
-
HEADは 、ポインタ を指す ローカルの現在の位置に サブ 分岐( 注 : HEAD などのような現在のサブブランチにそれぞれ名)。
付録
参照:
- 分散
全員のコンピューターは完全なバージョンのライブラリーであり、中央倉庫は全員の変更の交換を容易にするためにのみ使用されます。
- バージョン管理について
差分比較
スナップショットを記録
- ファイル状態図
- オブジェクト、ツリーオブジェクト、BLOBオブジェクトの関係を送信する
- 送信するたびに、送信されたオブジェクトは親オブジェクトを記録します
- ブランチとコミットの履歴の実装