服务器配置
$ cd project-directory
#创建一个版本库
$ git init
#向索引中添加文件内容
$ git add .
#将更改提交到当地版本库中
$ git commit -a -m ‘Initial commit’
客户端配置
#clone一个版本库到本地
$ git clone repository-url
$ cd project-directory
#查看当前版本状态
$ git status
$ git add file1 file2 file3
$ git commit file1 file2 file3 -m ‘message’
$ git pull
$ git push
(git push 的时候可能会出错,原因是服务端和客户端的版本库都在master分支,解决方法可在服务端新建一个分支,然后将服务端版本库切换到新建的分支,然后客户端在push就没问题了)
缓存设置
在开发过程中与服务器同步,有时候可能需要暂时隐藏目前做的修改,git提供了stash机制来完成这样的功能。
#暂存当前的修改
$ git stash
#查看暂存列表
$ git stash list
#恢复最新的一条暂存并删除相应的暂存
$ git stash pop
还可以用以下命令实现
$ git stash apply (恢复最新的一条暂存)或者 git stash apply stash@{1}
$ git stash drop (删除最新的一条暂存)或者 git stash drop stash@{1}
#清除所有暂存
$ git stash clear
重置与还原设置
#将当前的内容重置,不留任何痕迹
$ git reset --hard HEAD
#将上一次提交的内容重置,不留任何痕迹
$git reset --hard HEAD^
reset命令有三种方式
git reset --mixed
重置了index但是workingtree没变 (即文件没变)。
git reset --soft
只重置commit信息,不会重置index和workingtree,如果还要提交,直接commit即可。 就相当于git reset --mixed之后又使用了git add
git reset --hard
重置所有的内容,不留痕迹。
git-revert
git-revert是撤销某一次提交,但是这次撤销也会作为一次提交进行保存
git-revert HEAD 撤销倒数第一次提交。
git-revert HEAD^ 撤销倒数第二次提交,但是倒数第一次的提交还在。
git-revert HEAD~1 撤销倒数第二次提交…
git-revert HEAD~2 撤销倒数第三次提交…
git-revert HEAD~3 撤销倒数第四次提交…
git-revert只是撤销某一次提交
git-checkout filename 没有commit的时候使用,回到最初状态
分支管理
git branch 查看分支列表
git checkout master 将分支切换到master
git branch release 创建release分支
git checkout -b release master从master分支创建新的分支release(等同于上面两条语句)
git checkout -b release( git branch release) 从现有分支创建release分支
git push origin release 将release分支push到服务器
将修改merge到maser分支
git checkout master
git merge release
git branch -d/-D release 删除release分支
查看文件差异和日志
git diff [path] 查看文件差异
git log [path] 查看日志