まずはGitの流れを知る!!
1.ファイルを選択する
git add index.html
2.ファイルのコミットをする
git commit -m "メッセージ"
3.リモートリポジトリにアップロードする前に…
そのリポジトリのURLを登録しておく
git remote add origin URL
登録する際、名前を付ける必要があり、「origin」が一般的
4.リモートリポジトリにアップロードする(プッシュ)
git push origin master
5.リモートリポジトリのファイルをダウンロードする(プル)
git pull origin master
基本はこの繰り返し
名前 | すること |
---|---|
add | ファイルの選択 |
commit | ファイルの保存 |
push | ファイルのアップロード |
pull | ファイルのダウンロード |
発展して考える!!
一部のコードだけを送りたい場合はどうするの?
1.どのファイルを変更したのか確認する
git status
変更したファイルの名前が赤文字で出てくる
2.ファイルのどこの内容を変更したのか確認する
git diff
変更前の内容が赤文字で、変更後の内容が緑文字で出てくる
ー 変更前
+ 変更後
3.あとはプッシュしたいファイルだけgit add
で選択するだけ!!
ブランチを別に作って作業したい!
1.ブランチを作成する(例 developブランチ)git branch develop
2.ブランチを切り替える(例 developブランチ)
git checkout develop
3.プッシュしようとしたらこんなエラーが出てくるので、真ん中にある
git push --set-upstream origin develop
をコピペしてEnter
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin develop
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
間違えたプッシュを取り消したい
方法1 git resetコマンド
git reset --hard HEAD^
git reset --soft HEAD^
次にpushするときは、コンフリクトを起こさない為に「-f」のオプションをつけて、強制的にpushする
注意する点として、git reset
コマンドは履歴も消去してしまうので、チーム開発で使うとコンフリクトを起こす可能性があります。
方法2 git revertコマンド
上のgit reset
コマンドは履歴も残さず消去するのでコンフリクトを起こす可能性は高くなります。
逆にgit revert
コマンドは履歴は残して、プッシュだけを取り消すので、コンフリクトを起こす可能性は低くなります。
git revert HEAD
git push origin HEAD
取り消したプッシュの履歴も残ってるので、こんがらがる