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管理しないように設定できる。

以下的文件名不包括在内(例如)

ファイル・ディレクトリ名説明.DS_StoremacOSが自動生成するものThumbs.dbWindows OSが自動生成するもの.sass-cache/Saasのキャッシュ。管理が必要ないため、除外する*.css.mapSassのソースマップ。Sassの適用箇所を辿るために出力するもの。管理が必要ないため、除外する

.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