20200114のGitに関する記事は4件です。

旧リポジトリの資源を新規リポジトリへクローンしたい

はじめに

未経験からプログラマー転職して2年目になります。

今回は、元リポジトリの資源をそっくりそのまま、新しいリポジトリでバージョン管理するための手順を初めてやってみたのですが、少し手間取りました。
そのため、今回学んだことを自分なりにまとめてみました。
どなたかの役に立てれば幸いです。

もし間違いやご意見等ありましたら、学びになるのでぜひご教授ください。

参考URL

1.旧リポジトリから資源をクローンする

git clone 旧リモート先(URLの場合:https:~.git)
git clone 旧リモート先(SSHの場合:〇〇@github.com:~.git)
こちらはお好みで。

2. 「.git」ディレクトリを削除する

git rm -r .git
「.git」の中には、リモート先のURL情報やコミット履歴などの情報が入っています。
ここでは旧リポジトリの履歴を一旦きれいにするため、削除します。

3. 新しく「.git」ディレクトリを作成する

git init

4. リモート先を追加する

git remote add 新リモート先(URLの場合:https:~.git)
git remote add 新リモート先(SSHの場合:〇〇@github.com:~.git)
「.git」ディレクトリを新規に作成しただけなので、当然リモート先の情報がありません。
したがって、新しくリモート先を指定する必要があります。

5. 新リモート先になっているか確認する

git remote -v

6. 旧リポジトリでクローンした資源をadd&commit

git add .
git commit -m "first commit"

7. 新リポジトリに資源をpushする

git push 新リモート先(URLの場合:https:~.git)
git push 新リモート先(SSHの場合:〇〇@github.com:~.git)

最後に

リポジトリを変更することはこれまで経験がなかったので、Gitをより理解するいい機会となりました。

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

git cloneできないとき(503error)

git cloneできない!

下記のようなエラーがでて困っていました。

fatal: unable to access 'http://hoge/example.git/': The requested URL returned error: 503

原因:プロキシを設定しているから

  • プロキシを経由しないように、no_proxyを設定します
export no_proxy='hoge'

hogeにはホスト名が入る

  • git cloneする
    • このとき認証があったら、clone元のサイトの認証情報を入力する
    • もし入力ミスをしてcloneできなかったら、windowsの資格情報マネージャーから該当する資格情報を削除する
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

aliasを使ってコマンドを省略する

可能な限り省略コマンドを書いてコードを打つ時間を減らしたいという思いがあったため、
aliasを組んで省略コマンドを記載しています。

aliasを組むメリット

  1. 打つのが早くなることによる開発スピードの向上・ストレスの削減
  2. よく使うコマンドを打つ際に、思い出すという労力を使わなくて良くなる。

aliasを組むデメリット

  1. 自分で組んだaliasコマンドを覚えないと利便性がない
  2. 省略コマンド元のコマンドを忘れることがある

大筋のやり方については下記を参考にしています。
https://qiita.com/ma_me/items/f76295f3da9579043bbc

viで記載

vi ~/.bash_profile

下記の省略コマンド群をコピペし、再起動をかけたのち(source ~/.bash_profile)は

vb

でも.bash_profileの変更をすることが可能です、

省略コマンドを記載

alias c='cd ..'
alias ci='composer install'
alias cl='cd laradock'
alias cpl='composer create-project laravel/laravel --prefer-dist'
alias cpu='composer update'
alias cv='composer -v'
alias d='docker'
alias dc='docker-compose'
alias dcbn='docker-compose build --no-cache'
alias dcd='docker-compose down'
alias dcl='docker-compose up -d mysql nginx php-fpm workspace'
alias dcls='docker-compose up -d mysql nginx php-fpm workspace selenium'
alias dem='docker exec -it laradock_mysql_1 bash'
alias dew='docker exec -it laradock_workspace_1 bash'
alias dp='docker ps'
alias dr='docker rm $(docker ps -q -a)'
alias ds='docker stop $(docker ps -q)'
alias g='git'
alias ga='git add'
alias gaa='git add .'
alias gaaa='git add -A'
alias gb='git branch'
alias gba='git branch -a'
alias gbd='git branch -d'
alias gbdd='git branch -D'
alias gc='git commit'
alias gcl='git clone https://github.com/LaraDock/laradock.git'
alias gcm='git commit -m'
alias gco='git checkout'
alias gcob='git checkout -b'
alias gcom='git checkout master'
alias gd='git diff'
alias gda='git diff HEAD'
alias gi='git init'
alias gl='git log'
alias gld='git log --pretty=format:"%h %ad %s" --date=short --all'
alias glg='git log --graph --oneline --decorate --all'
alias gm='git merge --no-ff'
alias gp='git pull'
alias gr='git remote -v'
alias gra='git remote add'
alias grh='git reset --hard HEAD^'
alias gs='git status'
alias gss='git status -s'
alias gst='git stash'
alias gstd='git stash drop'
alias gstl='git stash list'
alias gstp='git stash pop'
alias h='history'
alias hg='history | grep'
alias la='ls -al'
alias ni='npm install'
alias nrd='npm run dev'
alias nu='npm update'
alias nv='npm -v'
alias sb='source ~/.bash_profile'
alias vb='vi ~/.bash_profile'

説明部分

Version管理系(npm、composer)・環境構築系(Docker)・Gitでよく使うコマンド・Linuxコマンドをまとめたものになります。

一部dcl(docker-compose up -d mysql nginx php-fpm workspace)のように、(「l」は「laradock」の「l」)別の命名をしているものもありますが、大体のコマンドの命名規則は頭の文字を取っているものが多いため、想起しやすいかと思われます。

既存のサイトで載っているものより、Dockerコマンドやgrepなどよく使うLinuxコマンドもaliasに追加しているため、よりコンテンポラリーになったかと思います。

再起動(これによって変更が反映される)

source ~/.bash_profile

上記省略コマンド群をコピペしていただければ、下記コマンドでも反映されます。

sb

反映されているか確認

alias

悩んでいる点

  1. workspace配下のaliasがきかない
  2. php artisan migrate:refreshをpamrとか省略できない。

改善点の変遷

Ver3

npmもローカルに入れたので、npm系のコマンドも省略してみました。

alias ni='npm install'
alias nrd='npm run dev'
alias nu='npm update'
alias nv='npm -v'

Ver4

省略コマンドを打つのすら面倒くさくなったため、省略コマンドをかくコマンドすらも省略しました。

alias sb='source ~/.bash_profile'
alias vb='vi ~/.bash_profile'

git remote系追加

alias gr='git remote -v'
alias gra='git remote add’

直前のCommitを取り消す

alias grh='git reset --hard HEAD^'

Laradock導入コマンド

alias gcl='git clone https://github.com/LaraDock/laradock.git'

history系

alias h='history'
alias hg='history | grep'

読んでいただき誠にありがとうございました。よく使うコマンドは適宜追記していきたいと考えています。また、よく使うコマンドでこちらに記載のないものは、随時追加していきたいためこちらまで教えていただければ幸いです。

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

LaTeXで書いたレポートをGitLabで管理して、GitLab-CIすることのメリット

  • 自分の環境じゃなくてもコンパイルできることを確信しながらTeXをかける。
  • ほかのパソコンからもブラウザで今の進捗状況を確認できる。
  • バックアップにもなるのでリスクを減らせる。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む