git/github初級運用自如

    之前初學過一點git版本控制工具,利用github做倉庫,照着github上的文檔練習的了一下。不過那隻篇只是照虎畫貓(我的水平只能照着老虎畫個貓模樣,嘻嘻!)。

最近在學hibernate,公司與家之間都要調用我練習的小項目,交給git/github來管理,我只想說真的爽歪歪了。

本文在我之前的那篇《git/github學習筆記》的基礎上,屬於那個的升級加強版,歡迎對照閱讀:http://www.cnblogs.com/fnng/archive/2011/08/25/2153807.html

如果本文有不太明白的地方請參考上面的文章。

 

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 [email protected]
      
Next steps:
  mkdir hibernaet-demo2
  cd hibernaet-demo2
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin [email protected]:defnngj/hibernaet-demo2.git
  git push -u origin master
Existing Git Repo?
  cd existing_git_repo
  git remote add origin [email protected]: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 “[email protected]

 

注意: 此處的郵箱地址,你可以輸入自己的郵箱地址。在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果爲空的話提交項目時則不用輸入。這個設置是防止別人往你的項目裏提交內容。

 

打開本地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 [email protected]

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 說明你連接成功了

 

三 . 設置用戶信息

這一步不是很重要,貌似不設置也行,但github官方步驟中有,所以這裏也提一下。

git中設置用戶名,郵箱

 

$ git config --global user.name "defnngj"//給自己起個用戶名
$ git config --global user.email  "[email protected]"//填寫自己的郵箱

 

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

 

 

 

----//小玩一下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 [email protected]:defnngj/hibernate-demo.git

//如果你是第一次提交項目,這一句非常重要,這是你本地的當前的項目與遠程的哪個倉庫建立連接。

Psorigin可以改爲別人的名字,但是在你下一次push(提交)時,也要用你修改之後的名字。

$ git remote -v  //查看你當前項目遠程連接的是哪個倉庫地址。

$ git push -u origin master  //將本地的項目提交到遠程倉庫中。

 

 ------------------------------------------------------------

假如,你回到了家,想把公司提交的項目克隆到本地?

 

如果你是第一次想把github上面的項目克隆到本地或者要克隆別人的項目到地。

$ git clone [email protected]: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 [email protected]:defnngj/hibernate-demo.git

//還是這個命令,在你push項目之前加上這一句就OK了。

[email protected]:defnngj/hibernate-demo.git 就是你常見的新倉庫的地址啊。git切換到新項目下,在push之前,加上這一句,我們創建的新倉庫就與新項目建立了連接。

 

 

怎麼樣?掌握了上面的那些,你是不是就可以在項目中把玩一下了。Git很強大,這些只是冰山一角,不過對新手來說暫時夠用了。

Ps:前兩天聊天,一哥們說又發現個藏片的好地方,可以把島國的小電影用這個管理,就不怕個人隱私被別人發現了尷尬。哈哈,你要不要試試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章