20190622のGitに関する記事は12件です。

[Git]削除したファイルだけaddしたい

結論

$ git rm $(git ls-files --deleted)

結果

xxxxxxMacBook-puro:errorcode jun$ git rm $(git ls-files --deleted)
rm 'app/views/labels/_form.html.erb'
rm 'app/views/labels/_label.json.jbuilder'
rm 'app/views/labels/edit.html.erb'
rm 'app/views/labels/index.html.erb'
rm 'app/views/labels/index.json.jbuilder'
rm 'app/views/labels/new.html.erb'
rm 'app/views/labels/show.html.erb'
rm 'app/views/labels/show.json.jbuilder'
iidajunnoMacBook-puro:errorcode jun$ git status
On branch label
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    app/views/labels/_form.html.erb
    deleted:    app/views/labels/_label.json.jbuilder
    deleted:    app/views/labels/edit.html.erb
    deleted:    app/views/labels/index.html.erb
    deleted:    app/views/labels/index.json.jbuilder
    deleted:    app/views/labels/new.html.erb
    deleted:    app/views/labels/show.html.erb
    deleted:    app/views/labels/show.json.jbuilder

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【留学回国学历提升补充】加拿大UOIT毕业 证书〔扣扣微信770882133〕办理安大略理工大学毕业证 成绩单UOIT真实留信网认证 录取通知书 成绩单 文凭真实使馆认证 University of Ontario Insititute

【留学回国学历提升补充】加拿大UOIT毕业 证书〔扣扣微信770882133〕办理安大略理工大学毕业证 成绩单UOIT真实留信网认证 录取通知书 成绩单 文凭真实使馆认证 University of Ontario Insititute【实体公司】留学归国服务中心

QQ/微信770882133办理毕业证,成绩单,历学位认证,使馆认证,归国人员证明,留信网认证

修改成绩单+信封申请学校,外壳 雅思 offer录取通知书,在读证明,普利茅斯大学学位证书

雅思托福成绩单 Plymouth毕业文凭

★★寻找合作留学教育机构代理,老师校园代理。报酬丰厚。真诚期待您的加盟,微 Q 770882133 联系可以备用
★★主营项目:
◆办理真实使馆公证(即留学回国人员证明,免费申请货后付款,不成功不收费!!!)

◆办理教育部国外学历学位认证。(网上可查、永久存档、快速稳妥,回国发展,考公务员,落户,进国企,外企,创业,无忧愁)

◆办理各国各大学文凭(世界名校一对一专业服务,可全程监控跟踪进度

{&}专注英国、美国、澳洲、新西兰、加拿大、爱尔兰、法国、德国、荷兰、意大利等地区毕业证,成绩单,学历学位认证,使馆认证 留信网认证
如果您是以下情况:
1、未能顺利毕业;
2、挂科多门,拿不到学位证书;
3、论文没过,只有个diploma;
4、留学院校不被教育部认可;
5、留学时间不足;
6、第二国拿第三国文凭;
7、认证材料有缺失;
8、急需国外学历认证书;
9、其他问题。
◆可以提供钢印、水印、烫金、激光防伪、凹凸版、最新版的普利茅斯大学毕业证、百分之百让您绝对满意、

设计,印刷,DHL快递;毕业证、成绩单7个工作日,真实大使馆教育部认证2个月。
【真实可查】---【永久存档】---【安全可靠】---【值得信赖】
八年从业经验,专业指导,私人定制,倾心为您解决留学毕业回国各种疑难问题
做到真实永久存档,网上轻易可查,绝对对客户的资料进行保密,登录核实后再付款。
留信认证的作用
1:该专业认证可证明留学生真实留学身份。
2:同时对留学生所学专业等级给予评定。
3:国家专业人才认证中心颁发入库证书
4:这个入网证书并且可以归档到地方
5:凡是获得留信网入网的信息将会逐步更新到个人身份内,将在公安部网内查询个人身份证信息后,同步读取人 才网入库信息。

在国家人才网主办的全国网络招聘大会中纳入资料,供国家500强等高端企业选择人才。等等

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Githubに公開するためのコマンドをメモ

流れ

git init

gitを作成

git add ファイル名

gitにgithubに公開するファイルをに公開するファイルを入れる

git commit -m "gitのお勉強" //←メッセージは何でもいい(""の中)

gitに変更内容を保存させる
カレントで入れクトリの中でaddしていないファイルがあるとエラーがでる(隠しファイル以外)

git status

gitの内容を確認
やらなくてもいい

git remote add origin リポジトリのurl

githubのリポジトリに現在のgitを追加

git push origin master

Githubに公開!

参考になったサイト

今さら聞けない!GitHubの使い方【超初心者向け】|TechAcademyマガジン

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

gitの使い方

a

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Github】少人数のチームで開発するときのGithubのブランチ運用Flow

概要

少人数のチームでGithubを用いてプロダクト開発するときのブランチ運用フローについて.

Github Flowを参考にシンプルさと運用のしやすさを重視している.

チームの全員が6つのルールを守るだけで,masterが綺麗な状態で保たれる.

全体像

graph.png

6つのシンプルなルール

1. master は本番環境にデプロイされているバージョン

2. develop はテスト環境にデプロイされているバージョン

3. feature ブランチ(作業ブランチ)は develop から分岐する

4. feature ブランチは頻繁に push する

5. pull-request(PR)で develop にマージする

6. マージされた feature ブランチは削除する

実際の作業例

1. develop からある機能を実装する作業ブランチを作る

//developブランチにて
$ git branch hogehoge
$ git checkout hogehoge

2. ローカルの作業ブランチで開発を進めつつ,頻繁にリモートの作業ブランチに push する

//hogehogeブランチにて
$ git push origin hogehoge

3. ある程度実装できたらPRをdevelopに飛ばす

GithubのウェブサイトでPull requestをdevelopに発行する
スクリーンショット 2019-06-22 19.29.01.png

or

hubコマンドをインストールしていれば

//hogehogeブランチにて
$ hub pull-request -b develop

4. PRが承認されてマージされれば作業ブランチを削除する

スクリーンショット 2019-06-22 19.31.35.png

5. 管理者がdevelopをテスト環境にデプロイする

6. 管理者がdevelopを本番環境にデプロイする

7. 管理者がmasterにdevelopをマージする

Happy Hacking :sunglasses: !

参考

https://gist.github.com/Gab-km/3705015

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Gitでメッセージ入力を求められ流のが面倒なので自動保管させた

--no-editというオプション

ターミナル
git merge master --no-edit

解説

するまでも無いですが、末尾に--no-editとつけるだけでデフォルトのコミットメッセージで登録されます。

スペシャルサンクス

これは自分で調べたのではなくこちらで教えてもらいました。感謝ですね。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[CircleCI] 特定のディレクトリに差分がなければ job を正常終了する

差分チェックスクリプト

scripts/circleci/is_changed_directory.sh
#!/bin/bash
# See: https://blog.hatappi.me/entry/2018/10/08/232625

if [ "${CIRCLE_BRANCH}" = "master" ]; then
  DIFF_TARGET="HEAD^ HEAD"
else
  DIFF_TARGET="origin/master"
fi

DIFF_FILES=(`git diff ${DIFF_TARGET} --name-only --relative=${1}`)

if [ ${#DIFF_FILES[@]} -eq 0 ]; then
  exit 1
else
  exit 0
fi

.circleci/config.yml

.circleci/config.yml
script_setup: &script_setup
  command: |
    echo 'export PATH=$PATH:${CIRCLE_WORKING_DIRECTORY}/scripts/circleci' >> $BASH_ENV

jobs:
  sample_job:
    steps:
      - checkout
      - run:
          <<: *script_setup
      - run:
          name: 後続の job 実行継続判定
          command: |
            if ! is_changed_directory.sh "foo/bar" -a "${CIRCLE_BRANCH}" != "master"; then
              echo "foo/bar に変更がありません"
              circleci step halt
            fi

参考

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

CircleCI で特定のファイルに差分がなければ job を正常終了する

差分チェックスクリプト

scripts/circleci/is_changed_directory.sh
#!/bin/bash
# See: https://blog.hatappi.me/entry/2018/10/08/232625

if [ "${CIRCLE_BRANCH}" = "master" ]; then
  # masterはマージコミットなどの場合なので一つ前と比較する
  DIFF_TARGET="HEAD^ HEAD"
else
  DIFF_TARGET="origin/master"
fi

DIFF_FILES=(`git diff ${DIFF_TARGET} --name-only --relative=${1}`)

if [ ${#DIFF_FILES[@]} -eq 0 ]; then
  exit 1
else
  exit 0
fi

.circleci/config.yml

.circleci/config.yml
script_setup: &script_setup
  command: |
    echo 'export PATH=$PATH:${CIRCLE_WORKING_DIRECTORY}/scripts/circleci' >> $BASH_ENV

jobs:
  sample_job:
    steps:
      - checkout
      - run:
          <<: *script_setup
      - run:
          name: 後続の job 実行継続判定
          command: |
            if ! is_changed_directory.sh "foo/bar" -a "${CIRCLE_BRANCH}" != "master"; then
              echo "foo/bar には変更がありません"
              circleci step halt
            fi

参考

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[CircleCI] 特定のファイルに差分がなければ job を正常終了する

差分チェックスクリプト

scripts/circleci/is_changed_directory.sh
#!/bin/bash
# See: https://blog.hatappi.me/entry/2018/10/08/232625

if [ "${CIRCLE_BRANCH}" = "master" ]; then
  DIFF_TARGET="HEAD^ HEAD"
else
  DIFF_TARGET="origin/master"
fi

DIFF_FILES=(`git diff ${DIFF_TARGET} --name-only --relative=${1}`)

if [ ${#DIFF_FILES[@]} -eq 0 ]; then
  exit 1
else
  exit 0
fi

.circleci/config.yml

.circleci/config.yml
script_setup: &script_setup
  command: |
    echo 'export PATH=$PATH:${CIRCLE_WORKING_DIRECTORY}/scripts/circleci' >> $BASH_ENV

jobs:
  sample_job:
    steps:
      - checkout
      - run:
          <<: *script_setup
      - run:
          name: 後続の job 実行継続判定
          command: |
            if ! is_changed_directory.sh "foo/bar" -a "${CIRCLE_BRANCH}" != "master"; then
              echo "foo/bar には変更がありません"
              circleci step halt
            fi

参考

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Windows10 Home】dockerで PHP + Apache + MySQL + phpMyAdmin + Laravel を構築し、GitHubに上げるまで

Windows10 Homeでも流行りのDockerを使いたい!

※Dockerが流行っているかは私個人の感想です
※駆け出しエンジニアの為、間違えている箇所があるかもしれません(ご指摘いただけますと嬉しいです。)
※構築の手順だけ知りたい?そんな冷たいこと言わないでください

私のPCの環境
- Windows10 Home 64ビット(ノートPC)
- メモリ12GB

はじめに

Dockerという存在を知ったのは5月の事で、それまではローカル環境でPHP開発をしようと思うとXamppに頼ってました
ぶっちゃけXampp使っていても全然よかったのですが、なんか世間ではDockerというものが流行っているらしいというのを見聞きしてちょっくら勉強してみようかなと思った次第です
あと、Laravelも今後使っていきたかったので、そのための準備としてもうってつけかなと思って

調べていった(作業していった)順序

  • Dockerとは何ぞや&何ができるんだろう?
  • じゃぁDockerでPHPの環境ってどうやって作るんだろー
  • なんかできそうだしやってみるかー → 手順調べる
  • PHP環境構築できたからLaravel入れてみるか
  • 最後にGitHubにpushして終了!

Dockerとは何ぞや&何ができんの?

外部サイトですがこちらを見て
『ほーん仮想環境みたいなの作って色々開発環境作れるのか』※実際は違うみたいなのですが詳しいことは自分で調べてください
『ローカルに直接構築するわけじゃないから、不要なデータは楽に削除することもできるのか』
くらいの感覚です(今もそんな感覚)

じゃぁDockerでPHPの環境ってどうやって作るんだろー

Qiitaで調べると手順がいっぱい出てきます

  • ymlというのを使って設定をしていくのか
  • Dockerfileっていうのがあって、そこで色々設定ができるのか

といった感じで、「なんかできそうだな」と思えてきました

なんかできそうだしやってみるかー

Dockerの導入

一般的であれば
Windows proでCPUの仮想化を有効にしてHyoer-Vも有効にする
といったものなのですが、そもそも私のパソコンはWindows Homeです
なんだアップグレードしないとできないのかーと思ったのですが、こちらを参考にやってみることにしました
めっちゃ参考になりました。
ちなみに私の場合「Docker Quickstart Terminal」の起動には結構時間がかかります(長い時は5分くらい)

[PHP,MySQL,phpMyAdmin]の構築

  1. ここでは以下のディレクトリ構成を目指します

    work/
     ├ html/
     │ └ index.php
     ├ mysql/
     ├ php/
     │ └ php.ini
     └ docker-compose.yml

  2. 初めに
    こちらを参考にやってみました
    ここで重要な事!!
    windows HomeでDockerを使う場合、マウントできるディレクトリは限られてきます
    マウントするディレクトリはuser配下に作ってください!!(適当にディレクトリを作ってマウントできない原因がわからず2日潰れました)
    別途設定すれば問題ないそうなのですが、それはここでは取り扱いません
    私は(ここで解決しました)[https://qiita.com/kikako/items/7b6301a140cf37a5b7ac]
    【例】
    C:\Users\あなたのPCのユーザー名\work
    workというディレクトリを作成しました

  3. docker-composeのカスタマイズ
    カスタマイズをするためにこのようなディレクトリ構成に変更しました

docker-compose.yml
version: '3'

services:
  php:
    image: php:7.2-apache
    volumes:
      - ./php/php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html
    ports:
      - 32778:80
  mysql:
    image: mysql:5.7
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test
      MYSQL_USER: test
      MYSQL_PASSWORD: test
    command: --innodb-use-native-aio=0
    ports:
      - "32780:3306"
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_ARBITRARY: 1
      PMA_HOST: mysql
      PMA_USER: test
      PMA_PASSWORD: test
    restart: always
    links:
      - mysql:mysql
    ports:
      - '32779:80'

こんな感じに設定をして、htmlディレクトリ配下にphpinfo()を記述したindex.phpを置いて、http://192.168.99.100:32778にアクセス
表示されなかったらどこか設定が悪いので色々調べる

PHP環境構築できたからLaravel入れてみるか

よっしゃ構築できたーということで今度はLaravelを入れてみる
1. ここでは以下のディレクトリ構成を目指します

work/
 ├ html/
 │ └ my-laravel-app/
 │   └ いろいろなファイル
 │   └ public
 ├ mysql/
 ├ php/
 │ └ php.ini
 └ docker-compose.yml

2. コンテナからcomposerを使えるようにする
ymlファイルの一部を変更する必要があるのでphpの記述している箇所を以下に変更してみた

docker-compose.yml
  app:
    build:
      context: ./dockerfile
      dockerfile: Dockerfile
    volumes:
      - ./php/php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html
    ports:
      - 32778:80

あと、これに伴ってcomposerを使う必要があるのでdockerfileディレクトリ配下に以下を記述

FROM php:7.2-apache
RUN apt-get update -y
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer

ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_NO_INTERACTION 1
  • COMPOSER_ALLOW_SUPERUSER 1  これはDocker内でcomposerを使う時にsuper userで使用することを許可するコマンド
  • COMPOSER_NO_INTERACTION 1  これはDocker内でcomposerを使う時にいちいち質問されないように設定するコマンド

こちらを参考にしました。

3.Laravelを置きたいディレクトリに移動
cd C:\Users\あなたのPCのユーザー名\work

4.コマンド実施
  1. コンテナ内に入る
     docker-compose exec app /bin/bashまたはdocker-compose exec app /bin/sh
  2. Laravelをインストール!(結構時間かかると思います)
    外部サイトですがこちらを参考にして行いました
   composer create-project --prefer-dist laravel/laravel my-laravel-app

5.ドキュメントルートの変更
 ドキュメントルートを変更する必要があるので、以下を行います
 ちなみにこちらを参考にしました
 参考にしたページではコンソール上で書き換えているみたいなのですが、それができなかったのでいったんホストに移動させてサクラエディタで書き換えた後に上書きをしています
  1. cp /etc/apache2/apache2.conf /var/www/html
  2. cp /etc/apache2/sites-available/000-default.conf /var/www/html
  3. apache2.confと000-default.confを変更

apache2.conf
170 <Directory /var/www"ここから"/html/public"ここまで追加">
171         Options Indexes FollowSymLinks
172         AllowOverride All
173         Require all granted
174 </Directory>
000-default.conf
 10 
 11         ServerAdmin webmaster@localhost
 12         DocumentRoot /var/www"ここから"/html/public"ここまで追加"
 13 

  4. cp /var/www/html /etc/apache2/apache2.conf
  5. cp /var/www/html /etc/apache2/sites-available/000-default.conf

6.dockerのマウントする場所を変更
このままだとhttp://192.168.99.100:32778でうまく表示されないので、docker-composeを変更する

docker-compose.yml
  app:
    build:
      context: ./dockerfile
      dockerfile: Dockerfile
    volumes:
      - ./php/php.ini:/usr/local/etc/php/php.ini
      - ./html/my-laravel-app:/var/www/html
    ports:
      - 32778:80

7.コンテナの再ビルド
  1. exit <- まずはコンテナから出ます
  2. docker-compose stop
  3. docker-compose rm
  4. docker-compose up -d --build

8.http://192.168.99.100:32778にアクセス!!!!!
表示されたー!ひゃhhhっほおおーい
となります

最後にGitHubにpushして終了!

最後にGitHubにpushします(外部サイトですがこちらを参考にしました)
1. アカウントを作成(こちらからできます)
2. レポジトリを作る
3. gitのインストール(こちらを参考にやってみると笑顔になれます)
4. コンソールでlaravelが置いてあるところに移動します
(例)cd C:\Users\あなたのPCのユーザー名\work\my-laravel-app
5.コマンド色々
git init -> git remote add origin git@github.com:ユーザ名/リポジトリ名.git -> git config --global user.name "Your Name" -> git config --global user.email "you@example.com" -> git fetch -> git pull origin master
6. commitしてpushします(その前にbranch作ってもいいかもしれません)
git commit -m '名前' -> git push -u origin master

最後に

あなたのお役に立てたら幸いです
間違った記載や誤字があればコメントいただけますと両手を上げて喜びます

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Git】git ignoreを使ってみよう

はじめに

今回はGitを使用する際に重要なgit ignoreについて紹介します!

git ignoreとは?

gitを使って開発を行なっていると、管理対象にしたくないファイルが出てくることがあります。
分かりやすいところだと、

  • .DS_Store(プロジェクトのmetaデータ)
  • APIKey

などが挙げられると思います。例えばAPIKeyをgitの管理対象にした状態で誤ってGitHubにプッシュしてしまうと、APIKeyを第三者に不正に利用される危険があります。git ignoreを使うことでgitの管理外に置くファイルを設定し、このような問題を解消することができます。

1. コミット前にgit ignoreを設定する方法

Sampleフォルダを作成し、その中に作成したsample.txtをgitの管理対象から外す方法を紹介します。

Sampleフォルダを作成

$ mkdir Sample

Sampleフォルダ内に「sample.txt」と「.gitignore」を作成

$ touch sample.txt
$ touch .gitignore

sample.txtをgitの管理対象から外す

Sampleディレクトリにいる状態で以下のコマンドを打ち込むとsample.txtと.gitignoreが作成できているのが確認できるかと思います。(.gitignoreは隠しファイルなのでlsだけでは確認できません。)

$ ls -a

.gitignoreをテキストエディタで開き、管理対象外にしたいファイル名を書き込みます。今回はsample.txtを書き込むだけでOK!

2. コミットを行なった後にgit ignoreを設定する方法

.gitignoreを作成する前にコミットを行なっていると、上記の手順だけでは特定のファイルを管理対象外にすることはできません。その場合はまずプロジェクトのディレクトリに移動し、1と同様に「.gitignore」を作成の後、.gitignoreに管理対象外にしたいファイルを書き込みます。その後ターミナルで以下のコマンドを実行します。(sample.txtを管理対象外にする場合) 以下のコマンド実行後にコミットを行えばOK!

$ git rm --cached sample.txt
$ git add .
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Gitで複数アカウントを使った時に困って使ったコマンド集

Gitで複数アカウントを使った時に困って使ったコマンド集

macを使っています。
備忘録的に書いてみました:bow_tone1:

グローバルのGitユーザーを確認

git config --global --list

ローカルのGitユーザーを確認

git config --local --list

ローカルのGitユーザーを設定

git config --local user.name "hoge"
git config --local user.email "hogehoge@email.com"

すでにしてしまったコミットのAuthor、Commiterを確認

git log -1 --pretty=full

すでにしてしまったコミットのAuthor、Commiterを修正

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='hoge'; GIT_AUTHOR_EMAIL='hogehoge@email.com';GIT_COMMITTER_NAME='hoge'; GIT_COMMITTER_EMAIL='hogehoge@email.com';" HEAD
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む