標籤:
以下轉自 http://liuzhijun.iteye.com/blog/1457207
有問題請聯絡我刪除。
-----————————————————————————
如果你的代碼不知道放哪裡好,放到github是一個不錯的選擇。下面奉上一文入門層級的配置篇。(以下配置同時適用於window和linux)
在github註冊完後,首先建立一個倉庫(repositry),在你的個人頁面右邊"Your Repositories"模組,點擊 New repository,這裡我們把project name 填寫為 “test"
除了項目的名字是必填的外,另外兩個空是可選的。點擊”Create repository"之後會看到下面這個頁面:
這就是你接下來要做的事情。首先你要安裝Git用戶端,windows版本,安裝的時候根據提示選擇下一步就行,安裝完後就是設定SSH Keys
開啟安裝目錄,進入Git Bash控制台
1、檢查是否存在SSH keys,如果第一次安裝是沒有的,輸入命令(這裡的命令輸入方式基本和在linux下面是一樣的),如果存在key了,可以直接跳到第4步。(下面的$符號是作為命令列的開始,不需要手動輸入)
注意:在linux的使用者目錄可能沒有.ssh目錄,需要自己建立
Java代碼
- $ cd ~/.ssh
如果顯示 “No such file or directory "那麼直接到第3步,否則執行第2步(這裡的意思是說,若果沒有.ssh目錄,我們就要去建立一個,如果存在的話,我們就備份已經存在的)
2、備份、移除以存在的SSH keys
Java代碼
- $ ls
- $ mkdir key_backup
- $ cp id_rsa* key_backup
- $ rm id_rsa*
(把id_rsa*開頭的檔案備份到key_backup)檔案中去,在把這些檔案從目前的目錄移除
3、產生新的SSH Key
Java代碼
- $ ssh-keygen -t rsa -C "[email protected]"
註:如果提示錯誤Could not create directory ‘//.ssh‘,需要設定環境變數“home"--->"你的home目錄",我這裡是這樣設定的 home----->users/cloudview,出現這個錯誤我很奇怪,不知是否安裝了其他軟體導致系統內容變數發生改變還是其他原因,待查?
(上面的email是你註冊時的email地址,注意雙引號不能省略,提示要輸入檔案名稱來儲存key是,預設按斷行符號就行,採用系統預設的儲存方式即可,接下來回提示輸入一個叫”passphrases"的東西,可以簡單的理解為本地機器與github通訊時的憑證,相當於密碼,但是比密碼更複雜,也更安全,這個要記住,以後要用的)
最後你將看到(fingerprint)一串16進位的數字,同時在當前路徑的.ssh目下面產生id_rsa.pub檔案。說明key已經產生了
4、把剛剛產生的key添加到GitHub中去
在GitHub網站點擊 Account Setting > SSH keys >Add SSH key,不清楚的可以看
用編輯器(notepad++,vim)開啟id_rsa.pub檔案,選取所有內容拷貝到key的輸入框裡。這樣key就添加成功了。
此時裡成功已經不遠了,就差一步測試了。輸入如下命令
Java代碼
- $ ssh -T git@github.com
會提示是否繼續串連,yes後,你將看到如下資訊,說明應經大功告成了
寫道Hi "username"! You‘re successfully authentiated,but GitHub does not provide shell access
別急,雖然可以串連成功了,但還不知道怎麼上傳檔案到GitHub去呢,接下來就來試一試。
5、上傳檔案到GitHub
首先設定好個人資訊,用於在提交代碼是說明是誰提交的,然後還可以用email去聯絡他。
Java代碼
- $ git config --global user.name "Firstname Lastname"
- $ git config --global user.email "[email protected]"
上面的名字通常是你的真實姓名。
接下來執行以下命令
Java代碼
- mkdir test
- cd test
- git init
- touch README
- git add README
- git commit -m ‘first commit‘
- git remote add origin git@github.com:lzjun/test.git
- git push -u origin master
大概意思就是在本地建立test目錄,初始化,建立一個README檔案,當然這個檔案時空的,你可以往裡面填內容。接下來就是add就是把README檔案納入到git的管理範圍內,
commit:相當於把你項目的代碼,檔案及所有的東西做一個快照,(好比我們拍照),這所有的檔案定格在這個時刻,之後的每一次commit也只把那些發生了改變的檔案做快照。此時還並沒有把代碼提交到GitHub上去
remote:和GitHub建立遠端連線,注意這裡的"lzjun"就是我的賬戶名,這根據自己的名稱做相應的改變。這一步只在你第一次提交檔案的時候出現,並且要輸入之前的pressphrases.
push:就很好理解了,把檔案推送到GitHub網站去。
在push的時候可能會出現如下錯誤:To [email protected]:lzjun/test.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘[email protected]:lzjun/test.git‘
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. ‘git pull‘) before pushing again. See the
‘Note about fast-forwards‘ section of ‘git push --help‘ for details.
可以先pull一遍
git pull [email protected]:lzjun/importnewstat.git master
趕緊開啟GitHub網站看看,你的test倉庫裡是否多了個README檔案。
6、如果Fork別人的項目
如果想下載名為username使用者的項目,我們需要使用clone命令,假設項目名叫“tools"
Java代碼
- git clone git@github.com:username/tools.git
補充:commit 的時候如果發生亂碼:可以添加如下設定
Java代碼
- git config --global i18n.commitencoding utf-8
參考:http://help.github.com/fork-a-repo/,圖片來源於該網站。
( 轉 )Github配置