linux下git與github簡單使用

生成公鑰
在linux上有一個ssh-keygen的工具,使用命令
ssh-keygen -t rsa -C "committer_email@committermail.com"

設定存放目錄和密碼後把.ssh/id_rsa.pub的文件內容粘貼進github的test倉庫裏。
測試是否成功
ssh -T git@github.com

若是出現
引用
Agent admitted failure to sign using the key

則使用 linux


ssh-add id_rsa


並輸入passphrase

在本機安裝git
apt-get install git

配置用戶名和郵箱
git config --global user.name 'The Name'  
git config --global user.email anyemail@mail.com

這個等效與home下.gitconfig文件中的 git


[user]                                                                            
    >---name = LZY under Ubuntu with Hasee  
    >---email = luozhaoyu90@gmail.com


這裏應該是隨便配置用戶名和郵箱均可以,這個事方便你們聯繫

成功後變在本機建立一個git倉庫。
git init
在遠程初始一個git倉庫
git --bare init
新建一個文件夾test_git,在裏面添加若干文件
git add *

提交併評論 github


git commit -m 'your comment'


設置github的倉庫地址並取名爲origin(可能能夠取其它名字?)
git remote add origin git@github.com:luozhaoyu/test.git
最後把master提交到origin服務器上
git push origin master

複製一個git項目
git clone git://github.com/luozhaoyu/test.git
更新項目
git pull

建立一個分支

git init以後默認的分支叫作master,在commit以後能夠使用 shell


git branch


查看如今所在的branch分支
git branch newbranchname  

建立一個新分支 服務器

git checkout branchname

切換到其它分支OOXX

回滾剛纔的操做
回滾有兩種方法,一種是留痕跡的git revert
git revert cc3a9d3a5820b16bca3c1761efb5885b90371e94

這是經過又一次的commit中和以前不要的commit達到回滾的目的。因此revert後面跟着的commit-ish就是須要被回滾的那次commit的值

另外一種是不留痕跡的,也就是時光機

git reset d5bb1731bf32fb62dc7eedc573da41fa31e27151 --hard
直接回到commit-ish那時的狀態,以後發生了什麼都不會出如今commit log裏


建議使用checkout + merge代替回滾   ssh



永久刪除不當心commit的文件
https://help.github.com/articles/remove-sensitive-data

git filter-branch --index-filter 'git rm --cached --ignore-unmatch FOLDER/*' --prune-empty --tag-name-filter cat -- --all  
git push origin master --force  
# 完成上一步就以及刪除了文件歷史,注意要往每個分支push,能夠使用--all --tags  
# 下面是在本地刪除多餘文件  
rm -rf .git/refs/original/  
git reflog expire --expire=now --all  
git gc --prune=now  
git gc --aggressive --prune=now

一個github命令學習網站
http://pcottle.github.com/learnGitBranching/
相關文章
相關標籤/搜索