ホーム » git (ページ 2)

git」カテゴリーアーカイブ

GITHUBをTEAMで始める

弊社でも社内リソースの管理にいよいよGITHUBを一部導入にあたり、各種設定をメモ。
※ローカル環境には既にGITLABへの接続環境が既に構築済

GITHUBへの申し込み

最初に個人としてGITHUBみ申し込み

その後GITHUB画面上の「New Organization」を選択

組織名、請求書送付先のメールアドレスを入力。

今回は会社で使用するのでTeamを選択して支払い情報を入力してOrganizationの作成は終了

この時点では自分以外のメンバーは登録しない。

最初にデフォルトのポリシーで基本全てのメンバーはリポジトリへの権限をなくします。

※デフォルトではすべてのメンバーは全てのリポジトリーへの閲覧権限を持っている

Organizationの設定ページ-Member Privilegesページを表示

Repository permissionsのOrganization membersをNONEに設定

リポジトリの作成

「new repository」メニューを選択

OwnerにOrganizationを指定しリポジトリ名を入力、スコープを指定して「Create Organization」を選択

TEAMの作成

OrganizationのTOPページよりTEAMタブを表示して、「New Team」をクリック

Team名を入力し、Team visibilityをSecretに設定し「Create Team」を選択

以上でTeamの作成は終了

Teamにメンバーを追加

Teamのページを開き、「members」のページを開く

「Add Member」をクリック

メンバーを入力してメンバーの追加は終了

リポジトリの権限設定

Teamにリポジトリの権限を設定

リポジトリの設定ページを開く

「Collaborators & teams」ページを表示

Teamの権限を設定

以上でGITHUBサイト上の設定は終了

git 作業ディレクトリとインデックスの差分を表示

[code]
git diff
[/code]

git ローカルリポジトリとリモートリポジトリの差分を比較

[code]
git diff master origin/master
[/code]

master:ローカルリポジトリのブランチ
orgin/mastre:リモートリポジトリのURL/ブランチ

Gitについて

リモートリポジトリについて

リモートリポジトリを特定するにはOriginとブランチを指定する。

OriginはURLのaliasであり、ブランチは枝を表す。

例えばローカルリポジトリの内容をリモートリポジトリに反映する時は以下のコマンドを使用

[code]
git push origin master
[/code]

originはリモートリポジトリのURL
masterはブランチ

以下のコマンドで現在のoriginの情報を確認する

[code]
git config –list
[/code]

出力結果
[code]
core.symlinks=false
core.autocrlf=false
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean — %f
filter.lfs.smudge=git-lfs smudge — %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.email=’tarumi@kk-kernel.co.jp’
user.name=’tarumi
core.quotepath=off
core.editor=’/C/Program Files (x86)/Hidemaru/hidemaru.exe’ //fu8
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=git@gitlab.com:ワークスペース名/プロジェクト名.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
[/code]

[code][/code]

git 変更をキャンセル

ソースファイルを編集したがコミット前にやっぱり元に戻したい時はcheckoutコマンド

[code]
git checkout ブランチ名 ファイル名
[/code]

ローカルリポジトリのブランチは以下のコマンドで確認
[code]
git branch
[/code]

コミット前であればインデックスに反映した後でも有効

以下は例
[code]
C:\githome\prvkernel\freearea>git status
On branch master
Your branch is ahead of ‘origin/master’ by 2 commits.
(use "git push" to publish your local commits)

Changes to be committed:
(use "git reset HEAD <file>…" to unstage)

modified: source/FreeArea/FreeArea.suo

C:\githome\prvkernel\freearea>git branch
* master

C:\githome\prvkernel\freearea>git checkout master source/FreeArea/FreeArea.suo

C:\githome\prvkernel\freearea>git status
On branch master
Your branch is ahead of ‘origin/master’ by 2 commits.
(use "git push" to publish your local commits)

nothing to commit, working tree clean

[/code]

git 既存ファイルを編集

既存のファイルを編集後リモートリポジトリに反映

変更されたファイルをインデックスに追加
[code]
git add -u
[/code]

ファイルをローカルリポジトリにコミット
[code]
git commit -a -m "コメント"
[/code]

ファイルをリモートレポジトリに反映
[code]
git push origin master
Enter passphrase for key ‘/c/Users/tarumi/.ssh/id_rsa’: SSLキーのパスワードを入力
[/code]

git ファイルの追加

プロジェクトディレクトリ以下にファイルを追加した時は以下の操作でリモートのレポジトリに反映する

ファイルをインデックスに追加
[code]
git add .
[/code]

特定のファイルのみを追加
[code]
git add ファイル名
[/code]

インデックスに追加されたファイルをローカルレポジトリにcommit
[code]
git commit -m "コメント"
[/code]

リモートレポジトリに反映

[code]
git push origin master
Enter passphrase for key ‘/c/Users/tarumi/.ssh/id_rsa’:SSLキーのパスワードを入力
[/code]

git for windowsをインストールしてgitlabのプロジェクトを操作

Git for windowsのサイトよりインストーラーをダウンロードし、インストール。
インストーラーは「Git-2.16.2-64-bit.exe」
Windows10の場合はWindowsの設定より「アプリのインストール」を「ストアのアプリのみ許可する」以外を選択しておく

インストーラーを実行して以下に従ってインストール

インストール先のディレクトリはC:\Gitに変更

インストールするコンポーネントはデフォルト

デフォルトのエディタ
※後ほど秀丸に変更の予定

bashではwindowsのDOSを使用

SSLの設定

改行の処理の設定

その他のオプション

インストール終了

Gitの初期設定

DOSコマンドを開きメールアドレス、ユーザー名等を設定
※core.quotepathをoffにするとgit statusで変更ファイル一覧を表示するときに、日本語のファイル名が文字化けしないでちゃんと表示される
ユーザー名、メールアドレスはGitlabに設定した値を入力
[code]
C:\Users\tarumi>git config –global user.email ‘メールアドレス’
C:\Users\tarumi>git config –global user.name ‘ユーザー名’
C:\Users\tarumi>git config –global core.quotepath off
[/code]

SSHのキーを作成
カレントをc:\git\usr\binに移動
以下のコマンドを実行
パスフレーズには任意の値を入力

[code]
C:\Git\usr\bin>ssh-keygen -t rsa -C ‘メールアドレス’
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/tarumi/.ssh/id_rsa):
Created directory ‘/c/Users/tarumi/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:[/code]
[/code]

GitLabのサイトを開きメニューより設定を選択

サイドばーよりSSHきーを選択してSSHキーを入力するページを表示

先ほど作成したid_rsa.pubの内容を張り付ける

以上で設定は終了

最初にプロジェクトのクローンを作成

GitLabで対象のプロジェクトを開き画面上のURLをコピー

PC上にローカルディレクトリを作成してカレントに移動し以下のコマンドを実行

[code]
git clone git@gitlab.comから始まるURL(上記でコピーした値)
[/code]

以上でローカルにcloneが作成される

gitlabを始める

gitlabには自分でサイト構築から始める方法とgithubと同様にサービスを使用する方法の2種類がある。
今回は後者を使ってみる

以下のサイトを開いて
https://gitlab.com/users/sign_in
申し込みを行う。

申し込みを行うとメールが送信されるのでリンクをクリックしてログイン

最初に「New Group」ボタンを押してグループを作成する

グループ名、スコープ等を入力して「Create Group」ボタンを押す。

privateなグループであっても名称はユニークな名称の必要があるようだ。

既に使われている名称を入力すると「Path has already been taken」と表示される。

次にグループ内にプロジェクトを作成

グループの一覧を表示してプロジェクトを作成するグループを選択

「New project」を選択

プロジェクト名、説明、スコープを入力して「Create Project」を選択

以上でプロジェクトが作成される

作成されたプロジェクトのTOPにはプロジェクトのcloneの方法等が記載