GitHub初心者が１人でコンフリクトの解決を試してみた（前編）


## １人でもチーム開発を想定したGitの学習はできる？
Gitは基本的に１人の開発ではなく、複数人で開発する場合に利用しますよね。独学でも、最終的には誰かと一緒に開発をしたいから学習していると思います。

そういったときに起こるのが、「はい、二人組つくってー」問題です。一緒に学習する人がいる人は良いのですが、１人寂しく学習している人（私です）にとっては、プルリクエストやコンフリクトは未知の領域です。

## ローカルリポジトリを複数作ってコンフリクト（競合）を発生させる

自分のパソコンにローカルのリポジトリを複数作り、同じファイルを編集しましょう。コンフリクトします！やったね！

## やり方
1. GitHub で新しいリポジトリを作成
2. ローカルにクローン（１つ目）
3. 新しいファイルを作成してコミット＆プッシュ
4. ローカルにクローン（２つ目）
5. 新しいブランチを作成してファイルを変更 × ２回
6. プルリクエストを作成 × ２回
7. プルリクエストをマージ（１つ目）
8. コンフリクト発生！

### 1.GitHub で新しいリポジトリを作成
![スクリーンショット 2016-07-02 15.32.44.png](https://qiita-image-store.s3.amazonaws.com/0/130741/1b967836-cd83-df33-cded-8c9f6908f824.png "スクリーンショット 2016-07-02 15.32.44.png")

![スクリーンショット 2016-07-02 15.33.37.png](https://qiita-image-store.s3.amazonaws.com/0/130741/7ba69618-d891-a634-e41a-b1c5e773d083.png "スクリーンショット 2016-07-02 15.33.37.png")

### 2.ローカルにクローン（１つ目）
```ターミナル
cd ~/Desktop/
mkdir repo1
cd repo1
git clone https://~.git
cd [リポジトリ名]
```


![スクリーンショット 2016-07-02 15.34.51.png](https://qiita-image-store.s3.amazonaws.com/0/130741/8f0cc7f6-d262-7395-459f-a911e9f517da.png "スクリーンショット 2016-07-02 15.34.51.png")

### 3.新しいファイルを作成してコミット＆プッシュ
```index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>新しいファイル</title>
</head>
<body>
    
</body>
</html>
```

```ターミナル
git add index.html
git commit -m "create index.html"
git push origin master
```

### 4.ローカルにクローン（２つ目）
```ターミナル
cd ~/Desktop/
mkdir repo2
cd repo2
git clone https://~.git
cd [リポジトリ名]
```

### 5.新しいブランチを作成してファイルを変更 × ２回

#### repo1

```repo1
git checkout -b repo1
```

```index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>repo1で変更</title>
</head>
<body>
    
</body>
</html>
```

```repo1
git add index.html
git commmit -m "repo1での変更"
git push origin repo1:repo1
```

#### repo2

```repo2
git checkout -b repo2
```

```index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>repo2で変更</title>
</head>
<body>
    
</body>
</html>
```

```repo2
git add index.html
git commmit -m "repo2での変更"
git push origin repo2:repo2
```

### 6.プルリクエストを作成 × ２回
![スクリーンショット 2016-07-02 15.47.16.png](https://qiita-image-store.s3.amazonaws.com/0/130741/2af973cc-af9a-4e66-9fdf-069f27b6769a.png "スクリーンショット 2016-07-02 15.47.16.png")

#### repo1
![スクリーンショット 2016-07-02 15.47.55.png](https://qiita-image-store.s3.amazonaws.com/0/130741/7b290c00-d7d1-d662-d29c-8583f4789d7f.png "スクリーンショット 2016-07-02 15.47.55.png")

#### repo2
この時点でコンフリクトが発生するのがわかります。（Can't automatically merge.）

![スクリーンショット 2016-07-02 15.48.36.png](https://qiita-image-store.s3.amazonaws.com/0/130741/fe1102a9-bcea-9085-02d4-c69a068038c8.png "スクリーンショット 2016-07-02 15.48.36.png")

### 7.プルリクエストをマージ（１つ目）
![スクリーンショット 2016-07-02 15.50.27.png](https://qiita-image-store.s3.amazonaws.com/0/130741/8813c386-c96a-2b13-e4af-d212983fd4aa.png "スクリーンショット 2016-07-02 15.50.27.png")

### 8.コンフリクト発生！
![スクリーンショット 2016-07-02 15.51.48.png](https://qiita-image-store.s3.amazonaws.com/0/130741/b24c34f1-156e-7127-826a-39671cd529db.png "スクリーンショット 2016-07-02 15.51.48.png")

## まとめ
１人でもコンフリクトを発生させることができました！コンフリクトが発生して嬉しい数少ない機会だと思います。

長くなったので、[後編](http://qiita.com/DesignChips/items/1cb16a963f132a5a4096#_reference-4c4922cad4202efbc250 "後編")でコンフリクトを解決します。