今さら聞けないGit 2020年02月05日

今さら聞けないGit 2020年02月05日

GitBucketで、ブランチやコミット間での比較をしたい

# TL;DR

* 表題通りで今更感はありますが、とにかく自分が忘れまくるのでメモ
* `リポジトリのURL/compare/from…to`で比較可能

# ブランチやコミット間の比較をする

こんな感じで。

`http://[GitBucketが動作しているホスト]:[ポート]/[リポジトリ名]/compare/[比較対象1]…[比較対象2]`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309669/0476e074-1f8d-9879-63a0-53b4cd237a1b.png)

比較対象には、ブランチやコミット、タグなどを指定しましょう。

# 参考

* [GitBucket 3.0をリリースしました](https://takezoe.hatenablog.com/entry/20150303/p1)
* [GitHub / 時間でコミットを比較する](https://help.github.com/ja/github/committing-changes-

元記事を表示

mac Gitのバージョンを最新に上げる

# 目的

– HomebrewでインストールしているmacOSのGitのバージョンを最新に上げる方法をまとめる

# 実施方法

1. 現在のGitのバージョンを確認する。

“`terminal
$ git –version
“`

1. Homebrewをアップデートする。

“`terminal
$ brew update
“`

1. Gitのバージョンアップを行う。

“`terminal
$ brew upgrade git
“`

1. Gitのバージョンを確認してバージョンアップされたことを確認する。

“`terminal
$ git –version
“`

元記事を表示

Git 基礎用語 1

#はじめに
Git,GitHubを学んでいく上で、用語等を中心に整理していきます。
もうすでにご存知の方、省略の仕方等ご存知でしたら、ご教授願います。

#リポジトリ
リポジトリ : バージョン管理をするための入れ物(変更履歴を保管)

以下、2種類のリポジトリがある。
   
ローカルリポジトリ : 自分のPC上に置くリポジトリ 
リモートリポジトリ : 外部サーバーやネットワークに置くリポジトリ

#ローカルリポジトリの作成
ターミナルへ入力することを前提とする。

git init : 当該ディレクトリをGitの管理下におく。
ls .git : 隠しディレクトリである.gitがあるかどうか確認する。

#インデックス
バージョンを記録するためにファイルを一時的に登録する場所のこと

以下、ターミナルへ入力することを前提とする。

git status : インデックスに追加されている変更修正、されていない変更修正を確認することができる。
git add : インデックスに追加、変更修正記録の対象とすることができる。

#コミット
インデックスに追加された変更修正をバージョ

元記事を表示

オフショアの開発会社と半年やりとりして地獄をみた。

## はじめに
弊社プロダクトの開発スピードアップを見込んで、とある国のオフショア企業の力を借りることになり、その開発ディレクティングを行いました。
結果的に契約期間の半年で打ち切りとなりまして、それにいたった過程・所感などをここに残しておきたいと思います。

## 契約期間
半年
(※そのうち、BSEとPGは5ヵ月)

## メンバー構成
* BSE(ブリッジシステムエンジニア)×1
* 現地のPG、テスターへの仕様伝達・メンバー管理・請負企業側とのコミュニケーションが主な業務。
* PG(プログラマー)×5
* 開発の実行部隊。皆日本語は未対応だが、英語は対応可能。
* テスター×4
* 各チケット単位でテスト仕様書の作成・テストを実施。
* コンター×1
* おそらく、コミュニケーターの略。現地語しか対応できないメンバーへの橋渡し役。こちらが作成したチケットの現地語翻訳や、テスターが作ったテスト仕様書の日本語翻訳の他、BSEが不在時の連絡役として対応。

## メンバー背景
PGの採用条件として理系大学を卒業していることが必須。コンターは外語大出身

元記事を表示

git push -u origin xxx の意味が分からないので調べてみた

“`
[student@workstation DO288-apps]$git checkout -b source-build
Switched to a new branch ‘source-build’
[student@workstation DO288-apps]$git push -u origin source-build…output omitted…
* [new branch] source-build -> source-build
Branch source-build set up to track remote branch source-build from origin.
“`

これの意味が分からないので、調べてみた。

リンクのみ提示の他力本願。

`git push -u` の-uの意味。
https://qiita.com/shumpeism/items/1b8027c8905ca826416d

origin とか master の意味。
https://qiita.com/seri1234/items/e651b3e1

元記事を表示

iOSでビルド時に自動生成するソースコードをGitで管理しないために

## はじめに
iOSアプリ開発において、リソースにタイプセーフにアクセスするためのソースコードを自動生成する [SwiftGen](https://github.com/SwiftGen/SwiftGen) や [R.swift](https://github.com/mac-cain13/R.swift) のようなツールをよく利用すると思いますが、みなさんはその自動生成されたソースコードは Git 管理下においていますか?

私の開発中のアプリではこれまで Git 管理下においていたのですが、アプリの要件により次のような状況になりました。

– Build Configuration に応じて自動生成されるコードに違いが出るようになった
– ソースコード以外にも Build Configuration に応じてアプリにバンドルさせるファイルを切り替える必要性がでてきた

このような状況ですと、Build Configuration によってファイルが変化してしまうため、ビルド時に自動生成するファイルは Git 管理下におかないようにしました。が、その中でつまづきポイントがあったので

元記事を表示

あなたはまだGitを使いこなせていない

#はじめに
私事ですが、最近エンジニアに転職しました
入社後、色々学んできた中でGitについて改めて便利やな〜と感じたので、
そのことについてまとめてみようと思います

まず、入社前の私の状態について軽く説明します。
Gitをバージョン管理というよりは、ソースコードのバックアップのために使っていました
本当にpushとpull以外では使っていませんでした笑
なので、Gitについて基本的な概念を大雑把に理解している感じです
具体的には

– GitとGitHubって別物なんや!!
– リポジトリはリモートとローカルがあるんか〜
– addしたら変更履歴がインデックスに上がるんか〜  などなど

こんな感じです笑

ですが、開発をしているとコンフリクトは起こるし、前のバージョンで確認したいことはあるしで、Gitを個人のバックアップ用に使っていると訳がわからないことになしました
そこでGoogle先生にはだいぶお世話になりました。
今回はそのときにGoogle大先生から教わったGitのことについてまとめようと思います。

#基本操作
まず、基本操作について説明します
大きな流れとしてはgit

元記事を表示

GitHubの特徴

今日からスクールで応用編に入り、GitHubについて学びました。

まずは環境構築でどう役に立つのかもいまいちよく分かりませんが、GitHubの特徴をまとめておきます。

①世界中のあらゆるプロダクトが保存、公開されている
GitHubでは世界中の人々が自分のプロダクトを保存、公開することができるため、いろいろな人のソースコードを読んだり、それぞれ知らない多くの人たちが1つのプロジェクトやソースコードの変更に関わることができる

②グラフィカルな画面からGitを扱うことができる
GitHubならWebサービス上の画面からグラフィカルにGitの操作を行うことができる

③チーム開発に便利な様々な機能が用意されている
GitHubにはチーム開発を円滑に行うためにコードレビューを行う仕組みやソースコード単位でコメントのやり取りをする機能、他の開発者のリモートリポジトリをコピーしてくる機能などがいくつもある

早くGitHubを使ってチーム開発をしたいです。

元記事を表示

git コマンド まとめ 基礎 自分用

# 環境

# 前提としている知識
command line

# 使用した教材
progate:Git レッスン
Udemy:はじめてのGitとGithub

# 大まかなワークフロー
プロジェクトにリポジトリを作成し、github等のリモートリポジトリにアップするまで

– バージョン管理したいフォルダのディレクトリに移動し、`git init`と入力しリポジトリを作成する。
– ファイルを編集する
– `git add .`というコマンドでファイルの変更をステージングエリアへ追加する。(ファイルを削除した場合は代わりに`git rm`)
– `git commit -v`というコマンドで変更を記録する。
– 一行目:変更内容の要約
– 二行目:空欄
– 三行目:変更した理由
– `git push`というコマンドでリモートリポジトリにアップする。

# 現在の状況を確認
## `git status`
ブランチ、追記されたコミットの数、ファイルの状況を確認できる
– 赤字:変更したファイルがまだaddされていない状態
– 緑字:addされたがコミットされてない状態

# 変

元記事を表示

Gitの内部の動きを知ろう ~基本編~ 

# はじめに
本記事は「Git初心者」向けではないです。目的に応じてコマンドを知りたい人は別の方の記事や書籍を参照ください。
本記事ではGitのコマンドの裏で、「.git/」配下がどのように変わっていくかを追うことを目的としています。きっとそこからGitの深淵な世界が見えることを期待して…
(「エンジニアのためのGitの教科書(上級編)」に大きな影響を受けた記事になります。できれば、「エンジニアのためのGitの教科書(上級編)」で書かれていないコマンドの動きまで到達することが目標ですが、基本の部分だけでかなり時間を使ってしまった。。。)

# 確認環境
“`
$ cat /etc/os-release
NAME=”Ubuntu”
VERSION=”18.04.4 LTS (Bionic Beaver)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 18.04.4 LTS”
VERSION_ID=”18.04″
HOME_URL=”https://www.ubuntu.com/”
SUPPORT_URL=”https://help.ub

元記事を表示

VSCodeでgit add -p を快適に行う

git add -p 便利ですよね。ファイルの変更箇所の一部だけをコミットしたいときによく使います。
ですが、自分はコマンドラインで git add -p する操作がどうにも慣れず、億劫に感じていました。
そこで Visual Studio Code の機能を使えばもっと直感的で快適に git add -p ができることを知りましたので紹介したいと思います。

## 動作イメージ
こんな感じで快適にできるよっていうイメージを伝えるためにgifを作ってみました。
このサンプルは3行の変更があるときに、git add -p を利用して「1行目をコミット」してから「2,3行目をコミット」する例です。

![gitaddp3_trimmed.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/48525/33e714d7-211a-ff9e-f233-61511f167f4d.gif)

git add -p する手順としては下記になります。

– addしたい箇所を選択する。
– addする変更箇所が1行

元記事を表示

【github】ローカルのmasterを、強制的にリモートのmasterに合わせる方法

こんにちは!あすかです。

自分の備忘録として書いてます。

ローカルをリモートにあげたmasterに
強制的に合わせたい時

// 1) リモートの最新を取ってきておいて・・
`$ git fetch origin master`

// 2) ローカルのmasterを、リモート追跡のmasterに強制的に合わせる!
`$ git reset –hard origin/master`

これで強制的にリモートのmasterがローカルに反映されます!

なんかエラー起きて色々やってもエラー直らないから
リモートのmasterに戻してやり直したい。。。
間違えて消しちゃった。。。

て事が何度かあったので今回の記事を書きました。

[参考記事]

git pull を強制し、リモートでローカルを上書きする方法

ご覧いただきありがとうございました。

元記事を表示

VSSより10倍モダンなGitの使い方について学ぶ【基本】

##【はじめに】
普段業務でGitを使ったことのない人間が、Gitの使い方について学んでみましたので、アウトプットのつもりでqiitaの投稿をいたします。
業務では、VSS(Visual Source Safe)というバージョン管理ソフトを使用して、ソースや仕様書等の管理をしている。未だにそんなレガシーなもの使っているの?というご意見は最もなのですが、レガシーな現場であり、ネットワーク制限が厳しい為、そんなモダンなものを使えいないのです。

##【対象者】
– OS Windows
– Gitをすでにインストールしている
[インストールしてない方はこちらを参考](https://eng-entrance.com/git-install)

– VScodeをすでにインストールしている

[インストールしてない方はこちらから](https://azure.microsoft.com/ja-jp/products/visual-studio-code/)
[インストール参考HP](https://eng-entrance.com/texteditor-vscode)
[VScode日本語化

元記事を表示

LinuxでもっともF-wordなコミットを探す(git以降編)

# tl; dr:

近年のLinuxはそれほどファ●ックではない。最大の”F値”は25で、単一のファイルに集中していた。

# もくてき

ファッ●クと言えばLinuxの風物詩と言える時期もあったが、最近は落ちついてきた印象はある。それでも [`fuck` コマンド](https://github.com/nvbn/thefuck) やメーリングリスト等では言及は有る。

では、それを印象付けるような出来事としては何があったのだろうか。今回、コミットログおよびそのソースコードdiffにおけるF-wordの登場回数を **F 値** (F value) と定義し、最もF値の高いコミット(**the most F-valued commit**)を探してみることにした。

(ソースコードdiffにおける登場回数であるため、F-wordを削除したコミットも高いF値が与えられることに注意する)

# 全てのコミットを `git show` する

最近シェルスクリプト代わりにCMakeを使っているので今回もCMakeで書いた。

– https://github.com/okuoku/cmt

元記事を表示

ファイル更新(Git)

自分用メモなのでさっと書きます。

“`
git commit -a -m “Message”
git push origin master
“`

元記事を表示

【GAS】claspでソース管理できるようにする

手順を残しておきます。
ここではclaspの導入手順ぐらいしか書いてないですが、その後の基本的な使い方とかGit連携とか追々書いていきます。

[2020/02/03 追記]
導入後の使い方はこちらに記載しました。
⇒[【GAS】claspを使う – 基本的な操作紹介(Gitについても少し) -](https://qiita.com/wau/items/c0f17dcdae62efaca44b)

## Node.jsを入れる
claspをnpmコマンドで入れたので、Node.jsが必要になりました。

⇒[Node.jsのダウンロードページ](https://nodejs.org/ja/download/)

私はWindowsに入れたのですが、とりあえずデフォルトの設定で十分です。
特に難しい事は考えずにインストールしました。

## claspのインストール
下記コマンドでインストール

“`
$ npm install @google/clasp -g
“`
Mac OSだとsudo付けようとか書いてある記事もあったので、その辺り注意かもです。

## Google App

元記事を表示

少し前に切ってるブランチ状態のを最新マスタと同じ状態にする方法

ブランチ状態で
ターミナルで`$ git merge master`を実行する

この方法をとるとコンフリクトを起こす可能性があります。
それをどのようにしたら良いかというと
まずコンフリクトしている場所ですが、ターミナルにコンフリクトしている場所が書いてあります。

また、コードエディター(自分だとVscode)を開いてもらうとわかるのですが、コンフリクトしている場所のファイル名が紫色になっています。そこを開いてもらい、最新を適用するか、ブランチのコードを反映させるかを選択出来ますので、これを行ってもらえれば問題ありません。

また、Git Hubのデスクトップ用のアプリケーションを使用する。

元記事を表示

homebrewが原因でgitが使えなくなったときの対処法

# 何が起きたか
“`shell
homebrew install
“`
の実行後に、homebrew で入れた`git`で以下のエラーが発生するようになってしまった。

“`shell
~/code ❯❯❯ git ✘ 130
dyld: Library not loaded: /usr/local/opt/gettext/lib/libintl.8.dylib
Referenced from: /usr/local/bin/git
Reason: image not found
[1] 19406 abort git
“`

# 解決策
“`shell
brew uninstall –force gettext
brew install gettext
“`

## 参考文献

![image.png](https://qiita-image-store.s3

元記事を表示

Termina上でGitのログ表示を最高に見やすくするTUIアプリ「gitone」を作った

![gitone-light-demo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166629/7b308c67-65e1-c527-4448-e01972d9f9b4.gif)

Gitプロジェクト上で `gitone` と打つとGitのログをグラフ表示してくれる大変シンプルなアプリです。そのままカーソル行を動かしていくと簡易な情報が常に下のステータスバーに表示されていて、Enterで選択するとさらに詳細なGit showをlessで見ることができるようになっています。

Go言語で作られていて、macOSでもLinuxでも、そしてWindowsでも使うことができちゃいます!

この記事では、最初の方にこのアプリのコンセプトと使い方、そして最後に技術的な話をしていきたいと思います。

Githubのリンクはこちらです。
mkdirから公開鍵認証方式でgithubにpushするまで

mkdirからってのは嘘です。ディレクトリは適当に作ってください。
# git init から git commitまで
おなじみ[サルでもわかるgit](https://backlog.com/ja/git-tutorial/)を見れば、とりあえずここまでは楽勝です。

“`bash
$:git init
$:git add .
$:git commit -m “first commit”
“`
1. `git init`でリポジトリの新規作成
2. `git add .`でファイル全部をインデックスに追加
3. `git commit -m`でコミット

commitは-mでコメントを付けるのはほとんどおまじないです、頭を空っぽにして唱えましょう。ちなみにmをFにしたらファイルの内容をコメントにできたりする。

# githubにリポジトリを作る
1. [github](https://github.com/)にアクセス。
2. 左の`Repositories`にある緑色のNEWってやつをクリック
3. ディレクトリ名決めるノリでリポジトリ名を決める
4. create rep

元記事を表示

OTHERカテゴリの最新記事