Git和GitHub使用總結


常用命令:

 

git克隆項目(下載代碼)
#git clone http://192.168.0.223/git/test
git clone git@github.com:laiweiwei/vms.git
git clone git@github.com:syking/smrt-lbs-new.git
復制粘帖方法:
git bash控制台--標題欄--右鍵--編輯--標記/粘帖
git更新內容
cd /d
cd play/smrt-lbs
git pull origin
提交到本地
cd /d
cd play/smrt-lbs
git add .
git commit -m "some string"
提交到服務器
git push -u origin master
刪除文件(直接刪除后需要重新用命令刪除)
$ git rm  app/views/Application/index.html
rm 'app/views/Application/index.html'
查看文件狀態
git status

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

假設你的資料庫默認分支為 master,當你有一個新的項目或者想法時
創建一個分支,然后在分支上開發,最后再合並到 master 上
創建新分支並命名,此處我們創建名為 new_sub 的分支 
git branch new_sub
移到新分支上
git checkout new_sub
開始你的工作並保存結果
添加所改動的文件以便提交
git add .
提交改動
git commit -m "made some changes"
回到 master 主分支
git checkout master
合並到主分支
git merge new_sub
git branch 可顯示所有的分支
刪除分支

git branch -d new_sub 

========================================== 

Git和GitHub入門
1. Git和GitHub簡單文字說明
Git是一個開源的分布式版本控制系統,用以有效、高速的處理各種規模的項目版本管理, 它是 Linux Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件,后來得到廣泛的使用。
 
GitHub可以托管各種git庫,並提供一個web界面,但與其它像 SourceForge或GoogleCode這樣的服務不同,GitHub的獨特賣點在於從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出並將修改加入到剛才分出的代碼庫中,最后通過內建的“pull request”機制向項目負責人申請代碼合並。已經有人將GitHub稱為代碼玩家的MySpace。
 
2. 安裝Git on Windows
下載 msysgit(http://code.google.com/p/msysgit/), 安裝時保留默認選項, 不要使用putty作為客戶端,GitHub只支持openssh. 安裝完成后需要生成SSH Key.
windows可視化操作界面客戶端(和svn很類似)   http://code.google.com/p/tortoisegit/
3. 配置
3.1 檢查是否已經存在KEY
 
$ cd ~/.ssh
$ ls
config  id_rsa  id_rsa.pub  known_hosts
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
 
如果已經存在KEY(id_rsa, id_rsa.pub),把他們拷貝到key_backup目錄備份, 因為SSH默認會使用”.ssh”目錄下的KEY
 注:windows7在C:\Users\ZDZ\.ssh目錄下可以找到

 

3.2 生成SSH KEY
 
代碼
$ ssh-keygen -t rsa -C "your_mail_addr@gmail.com"
Enter file in which to save the key (/c/Users/Tekkub/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Tekkub/.ssh/id_rsa.
Your public key has been saved in /c/Users/Tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 your_mail_addr@gmail.com
 
在這里會要求輸入key 目錄和 密碼,可根據自己的情況輸入

注:這里生成的key可以在多個網站上使用(例如github和bitbucket),只要本地的和對應網站的key保持一致就可以了 

 
3.3 將Public Key 添加到GitHub
打開你的GitHub->SSH Public Key->點擊“Add another public key”,  將你的public key(id_rsa.pub)的內容拷貝到GitHub中
 

bitbucket添加方式:帳號下來-->Account-->SSH keys 里面的 Add a new key ,  將你的public key(id_rsa.pub)的內容拷貝到SSH key文本框

 

3.4 測試
$ ssh git@github.com
ERROR: Hi tekkub! You've successfully authenticated, but GitHub does not provide 
shell access
Connection to github.com closed.
成功!!
 
4. 下載你的項目
$git clone git://github.com/schacon/simplegit.git
 
5. 提交變更
5.1 配置
  git config --global user.name "Your Name"
  git config --global user.email your_email@gmail.com
 
5.2 創建Repository
 
1 mkdir clrs
2 cd clrs
3 git init
4 touch README
5 git add README
6 git commit -m 'first commit'
7 git remote add origin git@github.com:your_name/clrs.git
8 git push origin master
 
5.3 提交已經存在的Repository
1 cd existing_git_repo
2 git remote add origin git@github.com:your_name/clrs.git
3 git push origin master
 -----------------------------------------------------------------------

用可視化界面生成key需要下載 puttygen.exe http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

生成.ppk的key 使用說明 http://code.google.com/p/tortoisegit/wiki/UsingPuTTY 

 公鑰認證需要一對密鑰:公鑰-私鑰,所以在你的的電腦上要有:private.ppk(私鑰)文件和Public文件(公鑰),用私鑰加密公鑰。

握手原理:當登錄服務器時,客戶端軟件將向服務器發出公鑰認證請求,服務器先檢查你的公匙是否合法,然后就用公鑰加密一個隨機數發送給客戶端軟件。客戶端軟件用私鑰將這個加密的隨機數解密后發送給服務器。因為公鑰和私鑰是成對使用的,公鑰加密的數據只能用私鑰解密,所以服務器就可以確認公鑰認證的合法性了。

三 :操作步驟
1.運行puttykey.exe

點擊[generator]按鈕,然后點擊【Save public key】保存public文件,再點擊【 save private key 】保存私鑰,。

技巧說明:在生成過程中一定要用鼠標在界面上移動,這樣就會很快的生成key值,將生成的key值粘貼到下面2中key輸入框中.

將以上的Public和Private.ppk保存在指定目錄下Key


2. 點擊Account Setting的左邊菜單“SSHKeys”.Title填寫:ProjectorKey。Key的填寫:打開puttykey.exe運行Generate產生一個Key.將其粘貼到githhub中的




2.  【Add Key】以后,用github賬戶登錄github,然后獲source,獲取時需要載入Private.ppk文件,指定到存放它的目錄,然后選擇Private.ppk文件,輸入用戶即可。

參考
http://gitref.org/   Git參考文檔及命令使用
http://help.github.com/ GitHub幫助

http://code.google.com/p/msysgit/ 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM