Git和Github概述
创建存储库
//sample ディレクトリを作成
mkdir sample
//sampleディレクトリに移動
cd sample
//今いるディレクトリをGitリポジトリとして設定
git init
※由于.git是一个隐藏文件,所以通常不会显示出来,但是可以通过快捷键<Command + Shift + .>来显示隐藏文件。
确认情况 (Confirm the situation)
//作業ディレクトリの状態を確認
git status
//リポジトリとファイルの差分をチェック
git diff
//リポジトリとステージの差分をチェック
git diff -staged
提交
//指定したファイルをステージする
git add ファイル名
//全てのファイルをステージする
git add .
//コミットメッセージを添えてコミットする(スナップショット)
git commit -m "コミットメッセージをここに書く"
当提交时,会记录下是谁在什么时候修改了什么内容,但由于不知道为何进行了修改,因此需要在提交消息中写下为何进行了修改的原因。
确认变更记录
# 変更履歴の確認
git log
将更改还原为原样
//ワークツリーの変更を取り消す
git restore ファイル名
//ステージ上げた変更をワークツリーに戻す
git restore -staged ファイル名
在结账时将提交移动
//指定したコミットに移動する
git checkout コミットID
叉子
在Github上,fork指的是将他人公开的远程仓库复制到自己的远程仓库中。
克隆()
在Github上,”クローン”指的是将远程仓库复制到自己的电脑上下载。点击”[↓Code]”按钮,确保选择了”[HTTPS]”,然后复制URL。
//リモートリポジトリをクローンする
git clone 自分のリモートリポジトリのURL
创建一个分支
//存在するブランチを一覧表示
git branch
//現在のブランチを元にして、新規ブランチを作成する
git branch ブランチ名
//指定したブランチに移動する
git checkout ブランチ名
//一つのコマンドで新規ブランチを作成して、作成したブランチに移動する
git checkout -b ブランチ名
创建分支并提交提交
//profileブランチを新規作成して、profileブランチに移動する
git checkout -b profile
//member.htmlをステージする
git add member.html
//コミットメッセージを添えてコミットする(スナップショット)
git commit -m "新たに紹介文を追加"
//masterブランチに移動する
git checkout master
合并分支 (合并)
合并是将自己修改的代码与正式的主分支(master)合并的过程。
//マージコミットを作りたいブランチA(master)に移動する
git checkout ブランチA
//マージしたいブランチBを指定してマージする
git merge ブランチB
如果以前的例子为例,分支A是主分支,分支B是个人资料分支。
推送所指的是
hé shǐ de shì)
推送是指将本地仓库发生的变化反映到远程仓库(上传)的过程。
//ローカルリポジトリで行った変更を、リモートリポジトリにプッシュする
git push リモートリポジトリ名 ブランチ名
//※リモートリポジトリ名がorigin、ブランチ名がmasterのとき
git push origin master
“プル” 是什么?
将远程仓库中发生的更改同步到本地仓库。
//プルしてきたいブランチにチェックアウトする
git checkout ブランチ名
//リモートリポジトリ上のコミットを、ローカルリポジトリの現在のブランチに取り込む
git pull リモートリポジトリ名 ブランチ名
//※リモートリポジトリ名がoriginで、ブランチ名がmasterのとき
git pull origin master
处理冲突的方法 de
当在同一行上同时进行不同的修改时,就会发生冲突bug。
为了无法确定应该采用哪个修正而发生冲突。
在编辑器中直接编辑保存冲突的部分,然后使用以下命令进行操作。
//修正したファイルをステージする
git add ファイル名
//普通にコミットする
git commit -m "コミットメッセージ"
//コンフリクトの箇所が多すぎて修正が難しい場合、コミット前で荒れた、以下のようにしてマージをキャンセルできる
git merge --abort
「プルリクエスト」とは什么意思
“Pull Request” 是指将自己所做的更改建议合并到已经分离出来的原始代码库中。
Pull Request 的目的是将更改合并到主分支中。
请描述以下的工作流程(从创建)Pull Request 到合并的过程。
1. 在GitHub上点击[Fork]按钮,将其复制到自己的远程仓库中。
2. 进行克隆操作。
//指定のリポジトリをクローンする
git clone リポジトリURL
//クローンで作成されたディレクトリに移動
cd ディレクトリ名
创建并提交一个分支
//ブランチを作ってそのブランチにチェックアウトする
git checkout -b ブランチ名
//コミットする
git add ファイル名
git commit -m "コミットメッセージ"
推送
git push origin ブランチ名
在GitHub上创建拉取请求
在GitHub上,更新fork的存储库首页时,屏幕顶部会显示“Pull request”和“Compare”选项。
点击打开Compare页面后,如果没有问题,可以比较“master分支和自己的存储库分支”的差异,并查看每行代码的具体变动情况,然后点击“Create Pull request”按钮。
6. 被合并
当Fork的原始作者确认内容后,点击[合并拉取请求]按钮即可进行合并。
忽略不需要进行版本管理的文件。
-
- OSが自動生成するファイル
-
- キャッシュ
-
- 容量が大きすぎるもの
- そのようなバージョン管理が必要ないファイルは .gitignore というテキストファイルを使ってGit管理しないように設定できる。
以下的文件名不包括在内(例如)
.gitignore文件的撰写方法
// 自分用のメモファイルを無視する
memo.txt
// .rbcという拡張子がついているファイルを無視
*.rbc
//例外として、text.rbcは無視しない
!test.rbc
//特定のディレクトリ名(config_c)以下を無視
config_c/
//ルートディレクトリ直下にあるものを指定する
//※ルートディレクトリにあるlogというディレクトリ以下を無視するとき
/log/
将.gitignore文件提交
//.gitignoreファイルをステージする
git add .gitignore
//.gitignoreファイルをコミットする
git commit -m "add file to .gitignore"
//.gitignoreに .DS_Storeを追加編集する
echo .DS_Store >> .gitignore
当我不小心提交了一些多余的文件并希望忽略它们的时候。
在未来的管理中将目标文件排除
//gitの管理から削除
git rm --cached <ファイル名>
//gitignoreファイル内にそのファイル名を記入
echo '<ファイル名>' >> .gitignore
从文件历史中删除
git filter -branch -f --index-filter 'git rm --cached -rf --ignore -unmatch <ファイル名>' HEAD