git參考html
http://www.git-scm.com/book/zh/ch3-5.htmlgit中文資料java
http://blog.csdn.net/yangwen123/article/details/8664342git
https://github.com/abhikp/git-test/wiki/View-the-commit-log-of-a-remote-branchgithub
1)安裝Git服務器
2)配置用戶信息ssh
git config --global user.name "username"測試
git config --global user.email "email"ui
git config --global color.ui true.net
3)生成公鑰對htm
ssh-keygen –t rsa
在用戶的主目錄下的.ssh/中,把id_rsa.pub變爲username.pub發給管理員
4)clone遠程的倉庫
git clone gitolite@192.168.0.102:xxx.git
克隆完成後,本地有和遠程服務器同樣的版本庫
5)平常操做
查看當前repository的狀態
git status
天天開始工做的時候,執行pull操做,把服務器上的內容合併到本地
git pull origin develop
把本地修改的文件添加到staged中(全部修改的文件)
git add –u
把本地修改的,新增長的,刪除的添加到staged中
git add -A
取消全部添加到stage中的內容,不會影響到工做區和history中的內容,只是staged中的內容被history中的內容覆蓋,也可用指定目錄 (默認是HEAD,也可指定<commit>)
get reset *
git reset /directoryx
刪除一個文件
git rm test.java
利用git rm刪除的文件,會把狀態直接更新到staged中,執行commit後會刪除本地倉庫中的文件,但遠程服務器的文件仍是保留的。
若是要刪除遠程倉庫的test文件,執行push操做就能刪除
git push origin develop
6)把修改的內容提交到本地倉庫
git commit –m 「commit message」
7)當確認修改完成,測試經過(或者須要和別人分享的時候,把代碼推送到服務器)
git push origin develop
本地刪除的恢復操做(本地的repository中沒有刪除)
rm need_del.txt
git checkout --need_del.txtls
經過git rm刪除的文件的恢復
git rm need_del.txt
git reset HEAD need_del.txt
git checkout --need_del.txt
文件已經刪除,而且經過commit提交到了本地倉庫的恢復,恢復提交前的內容
git reset HEAD~1
而後內容就是提交前的狀態了
# 建立新的develop分支
git branch develop
# 切換到新分支
git checkout develop
# 推送新的分支到git服務器
git push origin develop
# 首先將開發好的代碼推送到develop分支
$ git pull origin develop
$ git add .
$ git commit -m "我開發的新功能"
$ git push origin develop
## 對比
* 工做區與暫存區的對比
`$git diff`
* 暫存區與版本區的對比
`$git diff --cached`
* 工做區與版本區之間的對比
`$git diff master`
## 撤銷
* 放棄暫存區中的內容,不影響工做區中的內容
`git reset HEAD drag.js`
* 放棄工做區中的內容,還原回暫存區中的內容
`git checkout -- drag.js`
* 撤銷上一次往版本庫的提交操做並從新提交
`git commit -m "change4 drag.js and demo1.html" --amend`
## 刪除操做
* 刪除本地沒有,可是存在於暫存區的文件
`git rm fn`
* 刪除本地有,暫存區也存在的文件
`git rm -f fn`
* 放棄git的跟蹤管理,不在進行git的
`git rm --cached fn`
## 恢復 * 恢復某一個版本中的一個文件(discard working and staged) `git checkout commit_id fn` * 恢復到某一個版本 `git reset --hard commit_id` * 恢復到前一個版本 `git reset --hard HEAD^`