20190523のGitに関する記事は6件です。

GitLabへSSH接続する設定

はじめに

GitLab.com を業務で使うことになったのですがセキュリティ対策のため二段階認証設定をしたところ、Eclipseやコマンドラインからhttps接続できなくなったため(当たり前)、初めてSSH接続にチャレンジしました。

PC環境

  • Windows 8.1
  • Eclipse(Pleiades 2019-03版)
  • Git for Windows ver.2.21

SSH鍵生成

Eclipseにて [ウィンドウ] - [設定] から [一般] - [ネットワーク接続] - [SSH2] を選択します
一般タブにてSSH2ホームのパスを確認します(基本はユーザーホームパス直下の.ssh)
20190523-154255.jpg
鍵管理タブから [RSA鍵の生成...] をクリックします
20190523-154301.jpg
「ssh-rsa ~~~~~~ == RSA-1024」という公開鍵が生成されます
パスフレーズは秘密鍵を使う際に必要なパスワードですが、任意項目のためここでは未設定とします
そして右下の [秘密鍵の保存...] をクリックします
20190523-185821.jpg
.sshフォルダが存在しない場合はダイアログが出るのでもちろん [はい] を選択します
20190523-163729.jpg
先程確認したSSH2ホームパスに2つのファイルが生成されます
20190523-170204.jpg

GitLabへSSH鍵を登録

GitLabにログインし、右上から [設定] を選択します
rapture_20190523171214.jpg
左側のメニューから [SSH鍵] を選択し、Key欄へ先ほど生成した公開鍵の文字列をコピペします
タイトルには分かりやすい任意の名称を入力します
[キーを追加] ボタンをクリックして完了です
rapture_20190523171915.jpg

cloneするURLを取得

GitLab画面の [SSHでクローン] からURLを取得します
clone.jpg

Eclipseでclone

Eclipseを起動し、Gitパースペクティブを開きます
rapture_20190523200035.jpg
[Gitリポジトリのクローン] を選択し、ウィザードに従ってクローンします
20190523-195727.jpg
取得したURLをURI欄に貼り付けます
他の項目は自動的にセットされますのでそのまま次へ進みます
20190523-195750.jpg
全てのブランチにチェックが入っている状態で次へ進みます
20190523-195757.jpg
20190523-195805.jpg
rapture_20190523215336.jpg
正常にクローンできました

Git for Windows で clone

コマンドプロンプトを起動し、git cloneコマンドを実行します

> git clone (取得したURL)
コマンドプロンプト
> git clone git@gitlab.com:hogeproject/sample.git
Cloning into 'sample'...
remote: Enumerating objects: 38, done.
remote: Counting objects: 100% (38/38), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 38 (delta 12), reused 26 (delta 7)R
Receiving objects: 100% (38/38), 9.15 MiB | 4.39 MiB/s, done.
Resolving deltas: 100% (12/12), done.

> cd sample

> git branch -vva
* master                5745fc4 [origin/master] Merge branch '2.5' into 'master'
  remotes/origin/HEAD   -> origin/master
  remotes/origin/master 5745fc4 Merge branch '2.5' into 'master'

コマンドプロンプトからでも正常にクローンできました

以上です

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

astahファイルをgitで管理する方法

なんでastahファイルgitで管理するの?

複数人でモデリング図を管理することになったので、更新が入った際の共有で時間をかけたくなかったから。

管理方法

バニラのastahで管理できるようにしたかったので、XMLで管理します。
XMLであれば容量が大きくなりますが文字で管理したかったのでしょうがないですね。

やり方

保存(出力)

  • astahのツール->XML入出力からXMLプロジェクトファイル出力を選択します。
    スクリーンショット 2019-05-23 19.38.09.png

  • git管理されているフォルダ内に保存(or 上書き保存)
    スクリーンショット 2019-05-23 19.41.42.png

  • git管理されているフォルダで以下を実行して変更を確定します。

    • git add [ファイル]
    • git commit
    • git push

読み込み(入力)

  • 他の人が読み込むときはgit管理されているフォルダで下記を実行して、ファイルの情報を更新します。

    • git pull
  • astahのツール->XML入出力からXMLプロジェクトファイル入力を選択します。

スクリーンショット 2019-05-23 19.43.10.png

  • 読み込みたいXMLファイルを指定して、読み込みます。

終わりに

とりあえず、プラグインとか入れないでやってるので、容量が悪いですがみんなで一斉に変更することはあんまりないので、コンフリクトとかは大きく考えなくてもいいかな。
もっといい方法があればぜひぜひ〜

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

git log で月ごとのリリース回数を数える

前提条件

  • リリースごとに何らかのルールで git tag 打ってる
    • ここでは release/v1.0.0 みたいなタグを打ってることにする

コマンド

git log --all --pretty='%ad %d' --date=format:%G-%m |
grep "tag: release/v"|
cut -d " " -f 1|
awk '{arry[$NF] += 1;} END{for(i in arry){print i "," arry[i]}}'|
sort
2019-04,5
2019-05,2

こんな感じの出力が得られます

解説

  • git log
    • --pretty='%ad %d' --date=format:%G-%m : 2019-05 (tag: release/v2.100.0) こんな出力得るためのフォーマット整え
  • grep
    • 特定のタグ名だけにする
  • cut
    • 2019-05 の部分だけにする
  • awk
    • 月ごとにカウント
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

git管理最初の作成

git管理最初の作成

社内共通アカウントでログイン
(誰でもアクセスできるように)
+から チーム作成
プロジェクト内から、プロジェクト作成。
リポジトリ から リポジトリの作成

半角英数字(”-”ハイフン可)

メンバー追加
メンバー チームの管理 ユーザーグループ内のDevelopers
メンバーの中にメールアドレスを入れて 追加

GIT使い方イメージ
https://qiita.com/mint__/items/bfc58589b5b1e0a1856a

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

git 最新版インストール

  • curl コマンドで master.zip を取得失敗した場合のケース
# 旧バージョン インストール 
yum install git

# 最新版ダウンロード( git clone )
git clone https://github.com/git/git.git

# 旧バージョン アンインストール
yum remove git

# 必要ライブラリ インストール
yum -y install gcc gcc-devel
yum -y install openssl-devel
yum -y install libcurl-devel
yum -y install expat-devel

# git install
make prefix=/usr
make prefix=/usr install
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

今更ながらcvsのコマンドをgitと比較しながら書いてみる

初投稿です。

会社のバージョン管理でcvsを使っているのでgitと比較しながら備忘録として書いてみる。

cvs checkout -r branch名 リポジトリ名

checkoutというのは、サーバーに保存してあるブランチを自分の物理環境に持ってくること。-rは再帰のオプションなのでbranchにあるファイルを再帰検索して持ってきてるってこと。リポジトリは保管庫のこと。ちなみにcheckoutはcoって簡略化できる。

gitで同じようにサーバーから物理環境へ持ってくるコマンドは

git clone サーバーURL

みたいなのと似てる。

cvs update ファイル群

updateは物理環境のソースコードを最新の状態に更新してくれる。また、

cvs update -j ファイル群

ってやるとトランクにファイル群の差分をマージできる。さらに

cvs update -j タグ名1 -j タグ名2

ってやるとタグ名1からタグ名2までの差分をマージできる。

もう眠いのでとりあえずこの辺で。
ちゃんと書けるように努力します。

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