Git的基本
版本控制系统是什么?
-
- 作業内容を記録していくことができる
- 過去の作業内容を簡単に把握できたり、特定の日時の状態に戻したりができる
将整个文件夹进行复制,并附上日期保存……这也是版本控制的一种方法。
但是这种方法很难了解详细的变更内容。
通过使用Git进行版本控制,可以随时参考过去的状态。
Git的特点
具有以下特点的版本管理系统。
-
- 分散型 … 一度サーバからソースコードを取得すればオフラインで作業でき、任意のタイミングでサーバに反映できる
-
- 高速 … SVNなど他のバージョン管理システムよりも、高速に動作する
- 賢いマージ … 他のバージョン管理システムよりも、作業内容を賢くまとめてくれる
代码库
在中文中,可以这样表达:
源代码可以通过被称为“代码仓库”的地方进行管理。
最好在托管服务上创建代码仓库。
主机服务
管理代码库的地方。
如果是单人操作,可以不必用它,但为了进行备份,建议还是使用。如果有多人操作,则必须使用。
一些著名的选择包括:
-
- GitHub … 一番メジャーだと思われる。オープンソースで公開する場合に最適。非公開リポジトリを作りたい場合は有料
- Bitbucket … 無料で非公開リポジトリを作れる。1リポジトリに5ユーザ以上参加させたい場合は有料
Git的使用
-
- コマンドで操作する
- Sourcetreeなどグラフィカルなソフトウェアで操作する
在使用Windows或Mac时,最好使用图形化软件。
克隆
将代码库的内容复制到本地。
Git不仅在服务器上还在本地有代码库的副本,并定期进行同步。
提交、推送和拉取
-
- コミット … ローカルのリポジトリに作業を記録する
-
- プッシュ … コミット内容をサーバのリポジトリに記録する
- プル … サーバのリポジトリの内容をローカルのリポジトリに反映する(他の人の変更内容を取り込む)
文件的状态
-
- 作業ディレクトリ … 作業中のファイル
-
- ステージングエリア … 次にコミットされるファイル
- Gitディレクトリ … コミットされたファイル
有三个。
将工作目录中的文件移到暂存区,并在移动到Git目录时附上注释(即提交)。
通过暂存区,可以选择性地将部分文件作为提交的对象。
如果能够做到这一点,即使只是最基本的,也能够使用Git。
分支和合并
创建分支可以同时进行多个任务。
当任务完成后,可以将其合并到原位置。
在多人合作时尤其发挥作用。
冲突
在合并时,指的是操作内容发生了冲突。
-
- マージ元の作業が正しいとみなす(’相手の変更’を使って解決)
-
- マージ先の作業が正しいとみなす(’自分の変更’を使って解決)
- 手動で調整し、コミットしなおす(解決済みにする)
对于Sourcetree,你可以右键点击冲突的文件,然后选择“解决冲突”从而选择解决方法。
分支模型
在Git中,可以自由地创建分支,但如果没有任何规则地创建分支,会导致混乱。以下是一些著名的规则:
-
- GitHub Flow … 小規模開発向け。masterブランチから開発用ブランチを作成し、作業が完了したらmasterブランチに戻す
- Git Flow … 中規模~大規模開発向け。master、develop、feature、release、hotfix という5種類のブランチを使い分ける
有些地方基于 Git Flow,采用了自己独特的分支模型来进行运作。
提交的程度和消息
为了方便稍后复查,请在提交时意识到这一点。
诸如“在提交时写上问题编号”之类的独特规定也经常被制定。
.gitignore文件
可以指定将文件排除在版本控制之外。
将Thumbs.db和.DS_Store排除在管理范围之外。
同时排除其他与环境相关的配置文件、过大的视频文件和库文件,可以使管理更容易。
課題管理和Wiki
大多数的托管服务都已准备好。
若能善加利用,非常方便。有时还可以使用其他服务和工具,例如Backlog或Redmine。
最后
熟悉了Git后,就不会再想回到没有进行Git管理的项目开发了。然而,熟悉是必要的。如果陷入不明白的情况,就应该向身边的人请教。