ubuntu Gitでファイルの管理と共有

プログラムの管理と、作成済のプログラムの本番への組み込みのために
Gitを使って管理して見る

■前提
Gitは、GitHubを使用
GitHubのアカウントは作成済
利用環境はUbuntu 16.04
当面は、個人でのみ活用
Branchは作成しない

手順

ローカルに作業用エリア(フォルダ)を新規に作成

cd
mkdir market 
cd market
git init

プログラム 'git' はまだインストールされていません。 次のように入力することでインストールできます:

gitが入っていないのでインストール

sudo apt install git

READMEを作成しておく(必須ではない)

vim README.md
git add *
git commit -m "first commit"
git branch -M master
git remote add origin https://github.com/[アカウント名]/market.git
git push -u origin master

GitHubのアカウントとパスワードを入力する

Username for 'https://github.com':
Password for 'https://xxxxx@xxx': 
remote: Repository not found.
fatal: repository 'https://github.com/[アカウント名]/market.git/' not found

レポジトリィを作って行ないといけないようである
https://github.com/
で、レポジトリィmarketを作成

git push -u origin master
Username for 'https://github.com':
Password for 'https://xxxxx@xxx': 
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 478 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To https://github.com/[アカウント名]/market.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

無事、登録できたようである
Web側で、登録できたか確認してみる
追加されたいました

フォルダーを追加してみる

cd
cd market
mkdir python
 
git add *
git commit -m "commit"
git push origin master

Webを確認しても変化がない
フォルダー指定では、作成されないようである

ファイルを作ってみる

cd
cd market
cd python
echo test > README.md
cat README.md
git add README.md 
git commit -m "commit"
git push origin master

push(アップロード)できたよう
Webを確認すると、無事アップロードできた

別環境(サーバ側)で取り込んでみる

取り込むフォルダーを作る

cd
mkdir market 
cd market
git clone https://github.com/[アカウント名]/market/

marketの中にmarketができてしまった
mkdir market
は、不要のようだった

marketを削除してもう一度

cd
rm market 

フォルダは削除できない

rm -r market

削除できた

git clone https://github.com/[アカウント名]/market/

うまく行った

ローカルで修正したものを
Gitにアップして
本番で取り込む流れを行ってみる

ローカル
ファイル修正後

git add *
git commit -m "commit"
git push origin master

新規にファイルを追加した場合には

git add 新規追加ファイルパス
git commit -m "commit"
git push origin master

はじめはWebのGitHubで内容を確認

サーバ側
対象のフォルダに移動して

git pull origin master

無事、読み込む事ができた

LazarusのプロジェクトもGitで管理してみる

ローカルでプロジェクトのフォルダーを作り
プログラムを実行し、動作確認を行う

不要なファイルを対象外としてみる

フォルダ内に
.gitignore
のファイルを作る
ファイルに

/backup/
/lib/
/project1

とする

ローカルでGitへPushする
フォルダーの位置に移動して

git add *
git commit -m "commit"
git push orgin master

web github で内容を確認

サーバ側にて

git pull orgin master

無事取り込む事ができた

ローカルの端末から

ssh -i /home/xxx/key-xxx-xx-xx-xx-xx.pem root@xx.xx.xx

で、端末に入り同じ操作でも操作可能です。
ただし、rootで入り、Git pull すると
取り込まれたファイル、フォルダーはroot権限になります。

特定ユーザの権限が必要な場合は

su [ユーザ]
で、ユーザを切り替えてから

git pull orgin master

すると、ユーザ権限のファイルとなります。