GIT與GitHub使用簡介
Github: git項目托管網站,請先免費申請一個github帳號:www.github.com
Git:分布式版本控制工具,http://d.download.csdn.net/down/3169511/z_y_liu89
Github的申請與git的安裝我這里就不說了。這個不難。
----//git/github環境配置
一 . github上創建立一個項目
用戶登錄后系統,在github首頁,點擊頁面右下角“New Repository”
填寫項目信息:
project name: hibernate-demo
description : my first project
點擊“Create Repository” ; 現在完成了一個項目在github上的創建。
說明:我們創建的是一個github倉庫,一個倉庫里只能存放(或叫對應)一個項目。
當你創建完成一個倉庫的之后,github已經給你一個提示:當你看完了我的文章再來看這個提示就非常清楚了。
Global setup: Set up git git config --global user.name "Your Name" git config --global user.email defnngj@gmail.com Next steps: mkdir hibernaet-demo2 cd hibernaet-demo2 git init touch README git add README git commit -m 'first commit' git remote add origin git@github.com:defnngj/hibernaet-demo2.git git push -u origin master
Existing Git Repo? cd existing_git_repo git remote add origin git@github.com:defnngj/hibernaet-demo2.git git push -u origin master
Importing a Subversion Repo? Click here When you're done: Continue
二 . 創建密鑰
我們如何讓本地git項目與遠程的github建立聯系呢?之里就用的密鑰。通俗點叫口令吧!(天王蓋地老,寶塔鎮河妖。。)
$ cd ~/. ssh 檢查本機的ssh密鑰
如果提示:No such file or directory 說明你是第一次使用git。
如果不是第一次使用,請執行下面的操作,清理原有ssh密鑰。
$ mkdir key_backup $ cp id_rsa* key_backup $ rm id_rsa*
生成新的密鑰:
Ssh-keygen –t rsa –C “defnngj@gmai.com”
注意: 此處的郵箱地址,你可以輸入自己的郵箱地址。在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果為空的話提交項目時則不用輸入。這個設置是防止別人往你的項目里提交內容。
打開本地C:\Documents and Settings\Administrator\.ssh\id_rsa.pub文件。此文件里面內容為剛才生成人密鑰。
登陸github系統。點擊右上角的 Account Settings--->SSH Public keys ---> add another public keys
把你本地生成的密鑰復制到里面(key文本框中), 點擊 add key 就ok了
在git中運行下面命令:
$ ssh –T git@github.com
如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 說明你連接成功了。
三 . 設置用戶信息
這一步不是很重要,貌似不設置也行,但github官方步驟中有,所以這里也提一下。
在git中設置用戶名,郵箱
$ git config --global user.name "defnngj"http://給自己起個用戶名 $ git config --global user.email "defnngj@gmail.com"http://填寫自己的郵箱
在github中找到 Account Settings--->Account Admin ,找到一下信息:
Your API token is e97279836f0d415a3954c1193dba522f ---keep it secret! Changing your password will
generate a new token
$ git config --global github.user defnngj //github 上的用戶名 $ git config --global github.token e97279836f0d415a3954c1193dba522f
注:官方文檔中未找到github.user和github.token兩個變量。使用git help config。
----//小玩一下git
上面都是準備工作,一次完成,以后就不用設置了。下面內容才是亮點。
先來說說git下常用的幾個基本操作,和linux系統的操作是一樣一樣的:
$ ls 查看當前目錄的內容 $ cd /d 切換到d盤 $ cd java/ 打開當前目錄下的java目錄 $ cd j(table鍵) 如果當你想打開java目錄且當前目錄下只有一個j開頭的目錄,輸入J 然后按鍵盤上的table鍵,會自動幫你補齊。 $ cd .. 返回上一級目錄
假如你現在新創建了一個項目,想把它提交到github上面?
假設你創建好了一個項目,并切換到項目的根目錄下面:
$ git status //查看當前項目下所有文的狀態,如果第一次,你會發現都紅顏色的,因為它還沒有交給git/github管理。
$ git add . //(.)點表示當前目錄下的所有內容,交給git管理,也就是提交到了git的本地倉庫。
Ps:git的強大之處就是有一個本地倉庫的概念,在沒有網絡的情況下可以先將更新的內容提交到本地倉庫。
$ git commit –m”new natter ” //對你更新或修改了哪些內容做一個描述。
$ git remote add origin git@github.com:defnngj/hibernate-demo.git
//如果你是第一次提交項目,這一句非常重要,這是你本地的當前的項目與遠程的哪個倉庫建立連接。
Ps: origin可以改為別人的名字,但是在你下一次push(提交)時,也要用你修改之后的名字。
$ git remote -v //查看你當前項目遠程連接的是哪個倉庫地址。
$ git push -u origin master //將本地的項目提交到遠程倉庫中。
------------------------------------------------------------
假如,你回到了家,想把公司提交的項目克隆到本地?
如果你是第一次想把github上面的項目克隆到本地或者要克隆別人的項目到地。
$ git clone git@github.com:defnngj/hibernate-demo.git //在git下面切換到想存放此項目的文件目錄下,運行這條命令就可以將項目克隆下來。
假如本地已經存在了這個項目,而倉庫中又有一新的更新,如何把更的合并到本地的項目中?
$ git fetch origin //取得遠程更新,這里可以看做是準備要取了
$ git merge origin/master //把更新的內容合并到本地分支/master
-------------------------------------------
項目中刪除了一些文件,如何提交?
假如遠程倉庫中已經存了aaa這個文件,我fetch了下來,并刪除了aaa這個文件,想再push上到遠程倉庫中,并使遠程倉庫中的項目被新的修改覆蓋(也是是遠程倉庫中的aaa也被刪除)
$ git status //可以看到我們刪除的哪些文件
$ git add . //刪除之后的文件提交git管理。
$ git rm src/com/hzh/hibernate/dao/aaa.java //移除我們刪除的那個文件,不然git不允許我們往遠程倉庫提交。
Ps: 如果你想刪除的是某個目錄(java包),這里想移除整個目錄的內容。
$ git rm src/com/hzh/hibernate/bbb/ -r // -r 會把bbb/目錄下的所有內容一次性移動。
------------------------------------------------------------------------
遠程創建了一個新倉庫,本地創建了一個新項目,如何使新的項目與倉庫對應起來?
其實,這個也很簡單,只是我當時對那些命令不太理解,所以比較模糊,不知如何對應。
$ git remote add origin git@github.com:defnngj/hibernate-demo.git
//還是這個命令,在你push項目之前加上這一句就OK了。
git@github.com:defnngj/hibernate-demo.git 就是你常見的新倉庫的地址啊。git切換到新項目下,在push之前,加上這一句,我們創建的新倉庫就與新項目建立了連接。
注意:
1.生成SSH keys的過程可參考官方文檔https://help.github.com/articles/generating-ssh-keys
2.使用Git Bash執行命令,而不要用windows的cmd執行,以免因系統中安裝過cygwin和MinGw等工具產生不必要的問題。
3.GitHub官方推薦使用HTTPS的方式push和pull代碼
4.使用HTTPS方式commit代碼時用戶名不會關聯到Files中,也不會顯示在Contributions中。但是在Public Activity中本地用戶名是關聯的(鏈接到主頁)。
5.要將用戶名關聯到GitHub用戶,則user.email必須設置為注冊賬號時使用的Email地址。
轉自:http://www.cnblogs.com/fnng/archive/2012/01/07/2315685.html
來自: http://blog.csdn.net/kingzone_2008/article/details/8533868