第一部分 windows下安裝git
1、下載最新版本的git:直接百度“git”,如圖所示,點擊立即下載。
也可以直接在官網下載最新版本的git:http://www.git-scm.com/download/win(該鏈接是針對windows系統的下載)
可以根據與自己電腦的情況選擇安裝包下載
2、下載完成后,雙擊壓縮包。
3、在彈出的安裝界面點擊“Next”。
4、一路使用默認設置,選擇“Next”。
安裝過程中,詢問是否修改環境變量,選擇“Use Git Bash Only”. 即只在msysGit提供的Shell
(NOTE: 這個步驟最好選擇第二項“Use Git from the Windows Command Prompt”, 這樣在Windows的命令行cmd中也可以運行git命令了。這樣會對以后的一些操作帶來方便,
一路安裝即可。
5、默認安裝后,打開命令行模式,輸入“git”,即可使用。
第二部分 在git@OSC上推送代碼
1、首先,我們向服務器Git@OSC提交代碼時,需要用戶名和郵箱信息,需要使用如下命令進行配置
git config --global user.name "你的用戶名"
git config --global user.email "你的郵箱地址"
這些配置都會存放在用戶所在目錄下的.gitconfig文件中,比如(C:\Users\Administrator\.gitconfig,這個要看實際的路徑,有可能在C:\Windows\System32\config\systemprofile目錄下),用Editplus打開可以查看文件內容。
2、配置完成后,如何將eclipse工程HelloWord通過git提交到git@OSC上呢?
(1)首先在eclipse中創建HelloWord工程
(2)我們現切換到這個目錄下(是和.classpath和.project同級的那個目錄),右擊然后選擇Git Bash,這是就會彈出Git命令行,並且自動切換到當前所在目錄。
(3)我們運行: git init
可以看到會在該目錄下生成一個.git的隱藏目錄,這說明該目錄以及歸git進行管理了
輸入: git add .
使用: git commit -m "HelloWorld second commit"
命令,將代碼提交到HEAD,注意此時還沒有提交到服務器(這是我第二次提交,之前試着做了一遍)
(4)我們該如何提交到服務器呢?
首先在Git Bash中輸入:
ssh-keygen -t rsa -C "youremail@xxx.com"
然后一路回車,這個會在當前用戶文件夾下,生成.ssh 文件夾,里邊有個 id_rsa.pub文件,用記事本打開,復制其中的全部內容。
然后打開http://git.oschina.net/keys頁面,在該頁面中添加公鑰,標題可以隨便填,公鑰就是剛才復制過的內容,然后保存即可
我們在http://git.oschina.net/projects/new中添加一個新項目,比如HelloWolrd(這個名稱后面會用到,這個步驟是必須的)
我們先來測試下是否聯通:輸入命令
ssh -T git@git.oschina.net
然后會通知你輸入用戶名/密碼,該密碼就是你的osc賬戶密碼,然后會提示你輸入yes/no,輸入yes后回車,顯示出
Welcome to Git@OSC, 你的用戶名!
說明連接成功(密碼也可以在http://git.oschina.net/profile/account進行設值)
因為我是第二次登錄,所以是直接登錄的。
(5)下面就可以提交項目到git倉庫中了,我們先輸入一個不存在的
git remote add origin http://git.oschina.net/你的用戶名/none.git
然后執行
git push origin master
會出現錯誤,因為在osc@git中根本不存在none這個項目
那我們應該輸入
但是會發現不能執行了,這時我們可以打開.git下的config文件,把如下內容刪掉
[remote "origin"] url = http://git.oschina.net/whaon/none.git fetch = +refs/heads/*:refs/remotes/origin/*
或者執行
然后再執行
就可以了,這時項目已經被提交到osc@git上了
注意:
問題一:fetch-first
解決:它的意思是說本地和服務器上的代碼沖突了,類似svn上的,所以需要先pull,再push。(可能是我之前已經提交過一次了)
先 git pull origin master
再 git push origin master
問題二:non-first-forward
解決:git倉庫中已經有一部分代碼,所以它不允許你直接把你的代碼覆蓋上去。
這里我使用強推的方式,因為前后兩次的代碼是完全一樣的
強推的語法:
git push -f
最終,我們可以在自己的git中看到已經提交的項目了。
參考資料
1、Git錯誤non-fast-forward后的沖突解決:http://blog.csdn.net/chain2012/article/details/7476493
2、Git初體驗:http://my.oschina.net/dxqr/blog/134811?p=2#comments