19
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Git初心者がプログラムをGitHubに置いておく方法

Last updated at Posted at 2019-06-18

GitHubを使ってプログラムをたまに管理しています。たまにしか使わないこともあって、コマンドを忘れることも多く備忘録としてメモしておきます。
いつかきちんと理解する際には記事「Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた」を参考にしようと考えています。

いつも間にかデフォルトブランチ名が変更されていました。このせいで大きく混乱しました・・・(2022/8追記)

前提と環境

  • Ubuntu 18.0.4 LTSを使っています
  • GitHubのアカウント作成済
  • ローカルにGitインストール済

最初からGitHubで管理する場合の手順

最初からGitHubで管理する場合の手順を載せておきます。

1. GitHubにリポジトリ作成

GitHubにブラウザでログインし、「New」ボタンを押してリポジトリを作成します。
10.GitHub01.png

リポジトリ名などの情報を入力して、「Create Repository」ボタンを押します。
10.GitHub02.jpg

コピーアイコンを押して後で使うリポジトリのURLをクリップボードにコピーしておきます。
10.GitHub03.jpg

2. リポジトリのクローン

ターミナルからリポジトリをローカルにクローンします。

git clone <コピーしたリポジトリのURL>

3. 開発物追加

開発をしてプログラムが作成されたと仮定して"test.py"という空ファイルを作ります。

touch test.py

4. add

git管理にすべてを追加します。

git add .

GitHubに反映させたくないファイルやディレクトリがある場合には、".gitignore"というファイルを使って設定しますadd の前に設定しておきましょう。 また、再設定させる場合には「.gitignoreを再反映をさせる方法」を見てください。

touch .gitignore

.gitignoreのパターンは以下のとおりです。記事「.gitignore の書き方」参照。.gitignoreテンプレートを参考にすると捗ります:robot:

.gitignore
# 特定拡張子の除外(*は任意の文字のワイルドカード)
# .python cacheファイルの除外
*.pyc

# フォルダ除外
.idea/

# 特定ファイル名の除外
test.py

# フォルダ内の特定ファイル名の除外
test/test.py

5. コミットとPush

コミット時にコメントを追加。
PushをしてGitHubに反映させます。

git commit -m "Comment"
git push origin main

プロプラム作成後にGitHubに保存したいと思った場合

開発中/後にGitHubに保存したいと思った場合の手順です。

1. GitHubにリポジトリ作成

これは「最初からGitHubで管理する場合の手順」と同じです。

2. 初期化

開発物のルートディレクトリでinitします。

# From root directory
git init

3. リモートリポジトリの追加

リモートリポジトリを追加します。GitHubのリポジトリ画面でコピーしたURLを使います。

git remote add origin <コピーしたリポジトリのURL>

4. Push

一度ローカルの内容をPushします。

git add .
git commit -m "comment"
git push origin main

これをしないと、以下のエラーが出ました。

5. Pull

追加したリモートリポジトリであるGitHubからPullをします。

git pull

6. Merge

Pullした内容とローカルリポジトリをマージします。Mergeしたことで、GitHubで登録した"README.md"がローカルに反映されます。
正直なところ、処理内容を正確に理解していないのですがこれをしないとPushでGitHubに反映しようとする時にrejectエラーが起きます。
記事「初めてGitHubリポジトリにpushしたらrejectedエラーになったときの対応メモ」を参考にしました。

git merge --allow-unrelated-histories origin/main

7. add

git管理にすべてを追加します。.gitignoreでの設定に関しては「最初からGitHubで管理する場合の手順」と同じです。

git add .

7. コミットとPush

コミット時にコメントを追加。
PushをしてGitHubに反映させます。

git commit -m "Comment"
git push origin main

その他

.gitignoreを再反映をさせる方法

Gitの追跡対象にした後に、「やっぱりいらなかった」と思うことは多々あります。その場合、インデックスからファイルを削除することで追跡対象から除外されます。

git rm --cached <FILE_NAME>

空ディレクトリを作る方法

logファイル保存などのために空ディレクトリを作っておきたい場合があります。その場合は、空ディレクトリに以下の".gitignore"ファイルを置いておきます。
記事「空のディレクトリを維持するための、 .gitkeep と .gitignore の使い分け」を参考にしました。

.gitignore
# .gitignoreのみが必要。
*
!.gitignore

SSHの設定をしていない場合

SSHでのアクセスエラーが出たことがありました。

git@xxxx.xxx: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

こちらを参考に解決しました。Windowsだったので、"config"ファイルは不要でした。
gitでPlease make sure you have the correct access rights and the repository exists. が出た時の対処法

19
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?