- ディレクトリのフローチャート
1. 分散バージョン管理と集中バージョン管理
1.1 一元的なバージョン管理
- 集中バージョン管理システムには、CVS および SVNが含まれます。
- その主な特徴は、すべてのファイルのリビジョンを保持する単一の集中管理サーバーです。
- 共同開発者はクライアントを通じてこのサーバーに接続し、最新のファイルを取得したり、更新を送信したりできます。
- 長所と短所
- 昔ながらのローカル管理と比較すると、プロジェクトの他のメンバーが何をしているのかを誰もがある程度見ることができます。
- しかし、集中バージョン管理には核心的な問題もあります。それは、中央サーバーに障害が発生することはありえないということです。
- 中央データベースが配置されているディスクが破損し、適切なバックアップが行われていない場合、間違いなくすべてのデータが失われます。
1.2 分散バージョン管理
- 分散バージョン管理システムには次のものが含まれます。Git
- 長所と短所:
- クライアントは、ファイル スナップショットの最新バージョンを抽出するだけでなく、完全な履歴を含むコード ウェアハウスを完全にミラーリングします。
- このようにして、共同作業に使用されているサーバーに障害が発生した場合、ミラー化されたローカル ウェアハウスを使用してその後の回復を行うことができます。
- すべてのクローン作成操作は実際にはコード リポジトリの完全なバックアップであるためです。
2. インストールと構成
- ユーザー名と電子メールの設定
$ git config --global user.name "username"
$ git config --global user.email "[email protected]"
3. git コマンドライン操作
基本的な指導の前提
1. 克隆项目 `git clone 项目地址`
2. 初始化仓库` git init`
3. 添加暂存区 `git add .`
4. 提交本地仓库 `git commit -m 项目初始化`
5. master分支创建release分支` git branch release`
6. 基于master分支创建develop分支 `git branch develop`
# 推送master分支
git push -u origin master
# 推送release分支
git push origin release
# 推送develop分支
git push origin develop
# 在任意目录操作 (仓库地址仅供参考)
git clone https://gitee.com/zd1231230/doctor-demo.git
# 拉取其他分支
git fetch 项目地址 分支名称:别名
git fetch https://gitee.com/zd1231230/doctor-demo.git drugPayment:drugPayment
3.1 ADMUのロゴ
M modified
ファイルを github に追加し、そのファイルを変更すると、ファイルの後に M のマークが付けられます。
U untracked
このファイルをローカルで作成し、github に送信していない場合は、U とマークされます。D delete
このファイルを削除すると、vscode-git はこのステータスを記録します。A
ステージングエリアにはまだ送信されていません。
3.2 プロジェクトの初期化と送信のための基本コマンド
- 空のディレクトリを作成します (中国語を含まないことが望ましい)
$ mkdir gitMaster
$ cd gitMaster
$ pwd
/Users/git/gitMaster
- ウェアハウスの初期化
git init
$ git init
Initialized empty Git repository in /Users/hxk/mymenu/.git/
- リポジトリにファイルを追加する
$ git add test.txt
- ファイルをウェアハウスに送信する
- m
以下は提出手順ですgit commit --amend
送信されたコメントは間違っています。修正するために使用できます
$ git commit -m "a new file"
- コミット履歴を表示する
git log
- ステータスの表示
$ git status
3.3 ファイル状態の追跡と操作プロセス
-
ファイルを送信するときに
跟踪和未跟踪
ステータスに分けることができます未跟踪
: デフォルトでは、Git ウェアハウス配下のファイルは Git ウェアハウス管理に追加されないため、add コマンドを使用して操作する必要があります。已跟踪
: Git ウェアハウス管理に追加されたファイルは追跡された状態にあり、Git はファイルに対してさまざまな追跡と管理を実行できます。
-
ファイルのステータスを確認する
git status –s
git status --short
- 追跡されたファイルを細分ステータスに分けることができます
staged
: バッファ領域内のファイルのステータス。Unmodified
:commit コマンドを使用すると、ステージングされたファイルを Git リポジトリに送信できますModified
: ファイルが変更されると、ファイルは変更済み状態になります。
- トレース ファイルをコマンドし
git add .
てステージング領域に追加します
- ファイル更新の提出 -
git commit - m
提出手順
3.4 提出履歴とバージョンのロールバック
git log // 提交的日志 (里面包含提交的id) q 退出
git log --pretty=oneline --graph //简短的提交历史日志 (可以看到分支的提交结构)
git log --pretty=oneline
- バージョンのロールバックを実行する場合は、現在どのバージョンにいるかを知る必要があります。Git は、HEAD ポインターを介して現在のバージョンを記録します。
git reset--hard HEAD ^
^ 以前のバージョンgit reset--hard HEAD~1000
~複数のバージョンが存在するgit reset--hard 595674bdc04935452e583b360e714238b1295bf7
バージョンの指定
3.5 git 無視ファイル
.gitignore
ファイル、無視されるファイルのパターンをリストします
。
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
src/views/User/components/ConsultItem.vue
3.6 リモートサーバー
- リモート倉庫を表示する
git remote
git remote –v
-v是—verbose的缩写(冗长的)
- リモート アドレスの追加: ローカル ウェアハウスとリモート サーバー ウェアハウスに接続を確立させます。
git remote add <shortname> <url>
git remote add origin http://152.136.185.210:7888/gitremotedemo.git
重命名远程地址: git remote rename master newMaster
移除远程地址: git remote remove gitlab
- 具体的な手順
// 重要 添加远程地址(让本地的仓库和远程服务器仓库建立连接):
// git remote add < shortname > <url>
0. git init // 初始化
1. git remote add origin https://gitee.com/zd1231230/in.git // 关联远程仓库
2.0 git push --set-upstream origin newFetch 提交到远程仓库
2.1 git pull https://gitee.com/zd1231230/in.git master 拉取仓库到主分支
3. 新建仓库 newFetch
4. git commit -a -m "初始化"
5. push
注意点
リモートウェアハウスと関連付けた後、ブランチをプルしてマージしますgit pull
git pull 等于 git fetch + git merge(rebase)
3.7 ブランチの作成、切り替え、およびマージ
- ブランチの作成
git branch 分支名
- ブランチを作成してマージする
git checkout -b <newbranchname>
- ブランチのマージ
git merge <name>
- ブランチの表示と削除
git branch
# 現在のブランチをすべて表示git branch –v
# 最後のコミットも表示しますgit branch --merged
# 現在のブランチにマージされたすべてのブランチを表示するgit branch --no-merged
# 現在のブランチにマージされていないすべてのブランチを表示しますgit branch –d hotfix
# 現在のブランチを削除しますgit branch –D hotfix
# ブランチの強制削除
3.8 ブランチの追跡
- 問題 1: 現在のブランチにトラック ブランチがありません
- 理由:現在のブランチはリモートのオリジン/マスター ブランチでは追跡されません。
- 追跡せずに直接実行します
pull操作的时候必须指定从哪一个远程仓库中的哪一个分支中获取内容
。
- 追跡せずに直接実行します
- 直接実行
git push origin master
- git fetch を直接実行したい場合は、前提条件があります。現在のブランチに追跡ブランチが設定されている必要があります。
4. Gitワークフロー(gitフロー)
- Git でブランチを使用する利便性により、多くの Git ワークフローが生成されています。
- 言い換えれば、プロジェクト開発サイクル全体のさまざまな段階で、同時に複数のオープンブランチを持つことができます。
- 特定のトピック ブランチを他のブランチに定期的にマージできます。
- たとえば、次のようなワークフローがあります。
master
メインブランチとして。develop
開発ブランチとして、安定バージョンがある場合は、master ブランチにマージされます。topic
特定のテーマ、機能、または機能のブランチとして開発され、開発完了後に開発ブランチにマージされます。
git fetch 项目地址 分支名称:别名
git fetch https://gitee.com/zd1231230/doctor-demo.git dev:dev
Git flow ワークフロー図の
記事リファレンス: リベースとタグタグ