Githubのブランチを削除する方法をメモ
ローカルのブランチを削除する場合は下記コマンドで削除できるがgithubでは特定のブランチのみの削除ができない?かな
ローカルブランチの削除
git branch -d [ブランチ名]
githubのブランチを削除する
githubから削除できないため、ブランチをリモートにpushするのと同様で削除した情報をpushですれば削除可能。
githubブランチの削除
git push [push先リポジトリ] :[削除したいブランチ名]
[push先リポジトリ]の後に半角スペースがあるがこれが重要。
これで削除可能。
納得いかない場合はこれより下を参照。
git push 概要
git pushの詳細
git push [push先リポジトリ] [ローカルブランチ名]:[リモートブランチ名]
つまりブランチ削除時に[ローカルブランチ名]を空指定したことで空のブランチをpushという意味
【余談】
git push origin master
上記コマンドは下記コマンドの省略形
git push origin master:master
追記
githubブランチの削除を削除する場合は下記でも可能(というかこっちが正当)
git push --delete [push先リポジトリ] [リモートブランチ名]
git pull でリモートリポジトリのブランチを取得した際の誤算をメモ
リモートリポジトリに新たにブランチが追加されていたため、取得するときに「git pull」を使っておかしくなった。
サーバから取得する時はgit pullは危険なので別の方法をメモしておく。
git pullの内容とは
新ブランチ「branch_a」をリモートリポジトリにpushした場合に、その新ブランチを取得するときに下記コマンドを実行した
git pull origin branch_a:branch_a
これで「branch_a」は取得できるが・・・・・・
現在いたブランチにも「branch_a」がマージされていた。という誤算。
このgitの動作は正しいが知識が付いて行かないので、単に「branch_a」をローカルに取得したいだけであれば下記コマンドをした方が無難
git branch branch_a origin/branch_a
※branchは取得元を指定する事が可能
githubで新規リポジトリ作成のあとのpushコマンドについてメモ
githubにリポジトリを生成しファイルをアップするときに必要となるremoteとpushコマンドについて。
Create a new repository on the command line
下記コマンドをそのまま実行する事でリポジトリにファイルをpush(アップ)することが可能
touch README.md git init git add README.md git commit -m "first commit" git remote add origin [サーバリポジトリURL] git push -u origin master
分かりにくいのは最後の二行かな
git remote add origin [サーバリポジトリURL] git push -u origin master
git remote add origin [サーバリポジトリURL]
のoriginはエイリアスでサーバのURLに別名を付けるために実行する。
別名を付けなくても良い場合にはこれはそもそも実行する必要なし
git push origin master
はorigin(サーバリポジトリ)へmaster(ローカルブランチ)をアップを実行する
masterをプッシュする場合には「-u」オプションを入れなくても良し
push = サーバへアップロード
origin = サーバリポジトリURL
master = デフォルトのブランチ名 (svnのtrunkと同じ)
git remote add で
エイリアスを付けない場合は
git push [サーバリポジトリURL] master
これで良い
masterの正式な形はmaster:masterのため
git push [サーバリポジトリURL] master:master
の形でも良い
gitでmarge又はpullでコンフリクトした場合の対処法をメモ
警告メッセージ「All conflicts fixed but you are still merging」
pull「git pull」はfetch、mergeを併せ持っているので
裏では同様にmarge時にコンフリクトが起きている
対処法1 [マージ元、マージ先を手動マージ]
1.マージを修正
2.コンフリクト起こしたファイルをステージング「git add .」
3.コミット「git commit」
※ 2,3をまとめて「git commit -a」
対処法2 [マージ元を採用]
「git checkout –theirs .」
対処法3 [マージ先(workディレクトリ)を採用]
「git checkout –ours .」
※「.」(ディレクトリ配下全て)ではなくファイル単位(ファイル名を指定)でも指定可
FuelPHPメモというよりGitHub寄りなメモ
GitHubは空ディレクトリが存在するとアップできないのが仕様のよう。
FuelPHPのプロジェクトは空ディレクトリが多々あり、Gitは空ディレクトリは隠しファイル[.gitkeep]ファイルを配置することを推奨?している
gitのクライアントツールなどでは自動的に空ディレクトリに[.gitkeep]ファイルを作成してくれるが。
クライアントツールを使わない場合にまとめて入れるコマンドをメモ
プロジェクト上位フォルダへ移動して以下のシェルコマンドでまとめて空[.gitkeep]ファイルを作成
for d in $(find ./fuel/ ./public/ ./doc/ -type d -empty); do touch "$d/.gitkeep"; done
docフォルダはGitHubに上げるときは削除した方がいいと思うので不要かな。
シェルはmacで標準のbashで確認してるけど、zshとか他のはどうなんだろう。多分変わらないと思うけど
opauthライブラリを使用してTwitter認証を実装する手順をメモ
既にTwitterのストラテジが組み込まれているため、設定をするだけで実装可能
Twitter認証は別途tmhOAuthというライブラリが使用されている。どうやら、Twitterのoauth認証を実装する場合に使われるライブラリのよう。
プロジェクトフォルダ(プロジェクト名)は「basedemo」としてローカル環境で試す
導入手順 ※導入はおよそ5分の作業
前提:
前の投稿記事の[FuelPHP]opauthライブラリでFacebook認証を速攻実装するを既に実装していること
手順1.Twitter開発者ページの設定
アプリ登録を行い、「Consumer key」「Consumer secret」を取得する。
[Callback URL]には、Controller_AuthクラスのAction_Callbackメソッドとなるので以下のようにする。
http://[サイトパス]/auth/callback/
※ローカル環境の実行の場合は127.0.0.1とする。localhostにすると登録できない
今回は「http://127.0.0.1/basedemo/auth/callback/」を設定する
手順2.opauth.php設定ファイルの設定
前回のFacebook認証の設定にTwitter認証設定を追加する
<!--?php 'path' =--> '/basedemo/auth/login/', 'security_salt' => 'testtesttest', // デフォルトで設定されている値と違うものにする ※同じ場合動作しない 'callback_url' => '/basedemo/auth/callback/', 'Strategy' => array( 'Facebook' => array( 'app_id' => 'APP_ID', 'app_secret' => 'APP_SECRET' ), 'Twitter' => array( 'key' => 'KEY', // 手順1で取得した「Consumer key」の値を設定 'secret' => 'SECRET' // 手順1で取得した「Consumer secret」の値を設定 ), ),
手順3.エラー修正
手順2までで完了になるが、この段階で実行すると以下のエラーが出た
エラーとしては
ErrorException [ Error ]: Class ‘Opauth\tmhOAuth’ not found
となり、tmhOAuthがありませんって言ってる。
見えていないようなので、tmhOAuth/tmhOAuth.phpにopauthのnamespaceに組み込むことにする。
namespace Opauth; class tmhOAuth { const VERSION = 0.621; /** * Creates a new tmhOAuth object * * @param string $config, the configuration to use for this request */ function __construct($config) { $this->params = array(); $this->headers = array(); $this->auto_fixed_time = false; 〜〜 省略 〜〜
動作確認
「http://localhost/basedemo/auth/login/twitter/」を実行してtwitterのログインページに遷移すればOK。あとはログインして完了すると「OK: Auth response is validated.」が表示されれば成功。
画面上はtwitterからのレスポンス情報が表示されているはず。
最後に・・・
facebookを先に実装しているのでより簡単に行えた。あとはこちらもDBに情報格納やらプロジェクトにあったコールバック処理、遷移に変えればよさそう。
その他ストラテジの追加は下記公式サイトよりストラテジファイルをダウンロードして配置して、config設定を行い多少修正すれば、おそらくすぐに実装が可能。
公式サイト:http://opauth.org/
GitHubリポジトリにアップしたときにエラーとなった時の対応法メモ
FuelPHPプロジェクトをGitHubにリポジトリ作ってアップしようとしたらエラーが出たので調べてみた
エラー:fatal: Not a git repository: fuel/core/../../.git/modules/fuel/core
リポジトリが存在しないエラー。全く意味が分からない・・・
まずfuel/core/../../.git/modules/fuel/coreディレクトリを探してみるが.git/modules/の段階でディレクトリが存在しない。普通はあるのかな?新規でcloneしたらいいのかな。不明。
とりあえず呼んでるファイルはどこかを探してみる・・・
grep -r ".git/modules" *
実行結果:
fuel/core/.git:gitdir: ../../.git/modules/fuel/core
fuel/packages/auth/.git:gitdir: ../../../.git/modules/fuel/packages/auth
fuel/packages/email/.git:gitdir: ../../../.git/modules/fuel/packages/email
fuel/packages/oil/.git:gitdir: ../../../.git/modules/fuel/packages/oil
fuel/packages/orm/.git:gitdir: ../../../.git/modules/fuel/packages/orm
fuel/packages/parser/.git:gitdir: ../../../.git/modules/fuel/packages/parser
6ファイル。fuel/packagesを少し弄った気もするのでそれが原因かな?
状況が全くよくわからないからもういいや、めんどくさいから全部ファイル削除・・・
rm -r $(grep -rl "modules/fuel" *)
これで一応エラーを回避してプッシュまで成功。
git使ってる人ならおそらくすぐにわかることなのかもしれないけど、スキル不足で原因、解決策共によくわからない。原因ファイルを消してるだけなので、支障ありそうだけど、とりあえずアップできたからいいや。
gitは後々勉強しよう
サンプルデモアプリ「BaseDemoプロジェクト」を公開
FuelPHPをでサービスを作るとして必要となるであろう機能のベースを勉強しながら作成している。途中過程をGitHubへアップ。前回の投稿記事「[FuelPHP]独自オリジナル認証ドライバをsimpleauthを参考に実装する」反映済み
機能としてはログイン(オリジナルドライバ)、サインアップ、アカウント管理機能を実装
※SNS認証についてはアップ段階では未実装。今から直ちに実装予定。
GitHubリポジトリ:
https://github.com/y-matsumoto/BaseDemo.git
※README参照
機能詳細
1.認証ログイン
下記、投稿記事コードを実装
[FuelPHP]独自オリジナル認証ドライバをsimpleauthを参考に実装する1
[FuelPHP]独自オリジナル認証ドライバをsimpleauthを参考に実装する2
[FuelPHP]完成?:独自オリジナル認証ドライバをsimpleauthを参考に実装する3
2.サインアップ
画面:
一般ユーザ権限で作成可能。管理ユーザは画面上作成不可 ※コンソールから作成
権限:
Admin/Userのみ ※権限により処理(画面など)をswitchしてる
管理画面[controller/admin]・一般ユーザ画面[controller/user]を継承
3.アカウント管理(プレビュー)
新規・編集
※スキャフォールドをベースに作成してるため、あまり使えるViewではないのかもない
導入手順
1.clone作成
$ git clone git://github.com/y-matsumoto/BaseDemo.git
2.db関連
プロジェクト直下database.sqlを実行
3.ファイルバーミッション設定 ※やらなくてもいい
$ oil refine install //or [oil r install]
4.apache設定
basedemo/public/をhtdocsへ置く // or シンボリックリンク
5.account作成(admin権限) ※signupで作成する場合は一般ユーザ権限のみ
•[oil console]コマンドでコンソール上からcreatメソッドをコール
$ oil console // start
>>> Auth::create_user(‘admin’, ‘password’, ‘test@test.co.jp’, 100); // create user execute
1 // complete
>>> exit; // end
※導入手順は未確認のため、なにかあればご連絡ください。
よければ・・・
その他、ソースコードの指摘やフォルダ構成の指摘、全体アドバイスなど
もらえると参考になるのでコメント期待!
身近にスキル上、レビューできる人がいないのでコードが煩雑かも・・・
さてSNS認証つけよっと。
coffee-break
Don't write code that useless.
1日5杯はコーヒー、カフェオレ飲みます。狭心症のため安静にします☆松本 雄貴
Kotlinでサービスリリース目指す!
iOSでチャットアプリ作成中。自然言語解析LSIを習得中
Mac / Android・iOS / Rails / Oracle
2017年 Lpic L2取得
2012年 Android技術者資格取得
2010年 OracleMasterGold10g取得
2008年 CCNAQiitaもたまに投稿
https://qiita.com/y-matsumoto東京近郊で常駐開発探してる方はこちらよりご連絡ください
SES企業でパートナー会社を探している企業様はこちらよりご連絡ください
スプリットカメラ iOS / Android
音声認識で聞いた日付から曜日当てアプリ Android
ソーシャルタイマー Android
カテゴリー
- ActiveRecord (2)
- Android (52)
- AndroidStudio (10)
- Ansible (1)
- AWS (1)
- Bash (18)
- Blog (7)
- BootStrap (1)
- CentOS (16)
- Chef (1)
- css (2)
- Eclipse (5)
- error (1)
- Facebook (2)
- Firebase (1)
- FuelPHP (16)
- Git (22)
- GitHub (3)
- Gradle (2)
- GraphAPI (1)
- Grunt (1)
- heroku (2)
- illustrator (1)
- iOS (17)
- Java (4)
- Jenkins (1)
- jQuery (3)
- Kotlin (2)
- Mac (22)
- nginx (1)
- Node.js (3)
- peco (1)
- php (5)
- Python (1)
- Rails (16)
- Ruby (11)
- shell (1)
- SNS (1)
- Swift (2)
- tmux (2)
- Vagrant (6)
- Vim (6)
- windows (2)
- WordPress (3)
- zsh (4)
- フリーランス (1)
- ライブラリ (1)
- 勉強会 (2)
- 宣伝 (1)
- 未分類 (2)
最近の投稿
- [MAC]HighSierraでgitプッシュエラー「Unable to negotiate with xxx.xxx.xxx.xxx port xx: no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se fatal: Could not read from remote repository.」
- [iOS]iOS11からFacebook,Twitter連携(シェアなど)廃止の対応方法
- [iOS]速報2017AppleSpecialEventのiOS11、iPhone8など発表内容について
- [iOS][Firebase]The default Firebase app has not yet been configured. Add `[FIRApp configure];
- [iOS]2017年9月リリースのiOS11で開発者が対応するべきこと
- 今人気の現金化サービスCASH(キャッシュ)を使ったレビュー
- [Pandoc][Mac]pandocでmarkdownからwordファイル作成
- [Android]映画サマーウォーズの聞いた日付(誕生日)から曜日当てをアプリ音声認識で簡単に実現
- [Android]起動しているActivityを取得するadb shell コマンド
- [Android][Kotlin]kotlin学習で参考になるサイト一覧
2023年5月 月 火 水 木 金 土 日 « 5月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 アーカイブ
- 2018年5月
- 2017年9月
- 2017年8月
- 2017年7月
- 2017年6月
- 2017年5月
- 2017年2月
- 2017年1月
- 2016年12月
- 2016年7月
- 2016年6月
- 2016年1月
- 2015年12月
- 2015年11月
- 2015年10月
- 2015年9月
- 2015年8月
- 2015年7月
- 2015年6月
- 2015年5月
- 2015年4月
- 2015年3月
- 2015年2月
- 2015年1月
- 2014年12月
- 2014年11月
- 2014年6月
- 2014年5月
- 2014年4月
- 2014年3月
- 2014年2月
- 2014年1月
- 2013年12月
- 2013年11月
- 2013年9月
- 2013年8月
- 2013年7月
- 2013年6月
- 2013年5月
- 2013年4月
- 2013年3月
- 2013年2月
- 2013年1月
- 2012年12月
- 2012年10月
- 2012年5月
- 2010年6月
エントリ