顯示具有 git 標籤的文章。 顯示所有文章
顯示具有 git 標籤的文章。 顯示所有文章

2014年3月31日 星期一

[git]本機端與Github連結

git的認證是採用ssh金鑰進行,
要將本機端和Github做連結,得生出一組ssh金鑰才行,
把public key交給Github,private key留本機端,
等兩邊連結時金鑰配對成功,就可進行資料互換,金鑰如何設定,很簡單

Step 1. 先確認本機端是否已存在ssh key
-->打開terminal
cd ~/.ssh
ls -al
# 將.ssh資料夾內所有檔案列出來(含屬性與隱藏檔)
檢查是否有id_rsa.pub和id_dsa.pub 2個檔案,
理論上沒有,所以現在才要做生金鑰的工作啊(茶,

Step 2. 生金鑰
ssh-keygen -t rsa -C "your_email@example.com"
# 產生一組新的ssh金鑰,並以提供的email做標記
使用default settings所以按Enter繼續


Step 3. 輸入一組passphrase
看個人需求要不要設定,官網是建議設定一組好的passphrase嚕!


Step 4. 產生成功並將金鑰交給ssh-agent保管
出現此訊息代表成功!

接著,將金鑰交給ssh-agent保管,
ssh-add ~/.ssh/id_rsa

Step 5. 複製public key交給Github
打開~/.ssh/id_rsa.pub,不要新增或空格或空行,全選複製,
登入Github,進入account seetings,

左列選SSH keys,
點Add SSH key,進入後新增key title名稱,並在key欄位貼上剛複製過來的public key,
最後點選Add key完成交public key給Github

Step 6.驗證金鑰設定
ssh -T git@github.com
# 遠端至Github
別擔心這訊息,正常現象,type "yes"繼續,

到此代表金鑰成功設定了!

Ref.

2014年3月30日 星期日

[git]Git的使用

設定用戶名,依此類推
git config --global user.name [XXX XXX]
查看git setting
git config --list
查看help
git help
加入追蹤
git add [filename]
刪除檔案(-f 強制刪除)
git rm -f [filename]
保留檔案,僅從staging area移除
git rm --cached [filename]
要開始用Git要先建立一個Repository(簡稱repo),
有2種方法可以取得repo,一種是將現有的專案導入Git,另一種是從其它伺服器複製(clone)一份已存在的Git儲存庫,
第1種方法,只要切換到專案目錄並執行:
git init
這個命令就會建立名為 .git 的子目錄,這個目錄會包含一個Git儲存庫架構必要的所有檔案,
第2種方法,配合想取得現有的Git repo的網址然後使用 git clone,
(下載某Git repo, NAME可加可不加,是個人是否要更改名稱)
git clone [url] [new folder NAME]
在某個Repository檢查目前 Git 的狀態
-->On branch master: 表示正在名為 master 的 branch 上
git status
查看追蹤中有修改的code
經過git add 變成了 Changes to commit,這個狀態叫做 "stage" ,修改過但還沒使用 git add 的檔案稱為 unstage
git add . 可以一次把修改過或新增加的檔案都丟進stage狀態-->但很容易不小心加入一些不必要的檔案,所以不建議這麼做,手動將要加入的檔案git add丟入stage才是最好的方法!
git diff
把某檔案從staging area改回到unstaging(檔案內容不變)
git reset HEAD [filename]
git commit
#commit時盡量清楚的表達該次commit的內容,以後看才不會霧煞煞,同事或接手的人才不會有如閱讀天書
使用 -m 可不開editor, 快速提交
git -m "message"
git commit -a -m 'commit -message'
修改上一次的 commit 訊息
git commit --amend
查看過去 commit 的紀錄 git log
output所有log
git log
output所有log(較簡潔)
git log --pretty=oneline
git log --pretty=format:"%h : %an : %ar : %s"
最後這 2週的 log
git log --since="2 weeks ago"
output 最後2筆
git log -p -2
整理一下,平常coding和用git的過程
出現修改動機-->修改檔案-->丟進stage( git add )-->提交( git commit )-->繼續...
有些檔案不希望加入版本控制的追蹤,可以將他們加入 .gitignore 中讓 Git 忽略他們
vim .gitignore: 打開 .gitignore
增修設定.gitignore檔(可參考https://github.com/github/gitignore)
Ref.