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^`