安装git后,进行配置
全局配置
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
会在 “用户目录” 下创建 .gitconfig 文件记录配置信息
git主要原理:
工作区------------缓存区-----------版本库
我们在工作区增,删,改文件
然后将文件添加到“缓存区”
一次将“缓存区”的所有内容提交到“版本库”
-----------------------主要命令-------------------------
git status 检测“工作区”和“缓存区”的变动(增,删,改)
git add 文件名 将“工作区”的增加,修改的文件缓存到“缓存区”git rm 文件名 将“工作区”的删除的文件缓存到“缓存区”
git common -m"注释" 将“缓存区”的所有文件一次提交到“版本库”
git checkout -- 文件名 从“缓存区”将给定文件覆盖到“工作区”(如缓存区不存在则从“版本库”中获取)
git reset head 文件名 从“缓存区”将文件移除
----------------------
-版本回退和找回
----------------------------
git reset --hard head^ 将版本退回到上一个版本 head^^上两个版本 head~100上100个版本
----------------------
-版本找回
----------------------------
git reflog
列出所有“提交”信息,这里主要是看"提交id"
git reset --hard 提交id
-----------------------分支操作--------------------------------
git branch 分支名 创建新分支
git checkout 分支名 切换到给定分支
git checkout -b 分支名 切换到给定分支,不存在此分支则创建此分支
git branch 查看所有分支(当前分支用在名称前加*表示)
git branch -d 分支名 删除给定分支
git merge 分支名 将给定分支合并到当前的分支
------------------------缓存区临时保存---------------------------
git stash 将“缓存区”临时保存起来,操作后“工作区”提交到“缓存区”的信息恢复到未提交前
git stash list 列出所有“临时保存”的信息
git stash apply 将“临时保存”的信息恢复过来
git stash pop 将“临时保存”的信息恢复过来,并删除临时保存
git stash apply stash@{0} 将给定的“临时保存”信息恢复过来
场景:给用户发行第一版后,建立第二版分支用来开发,开发过程中用户反馈Bug,需要修复,使用临时保存后,切换到第一版修改bug,修改完后切换到第二版,然后回复临时保存
-------------------------标签(一般做为版本号)-----------------------------------
git tag 查看所有标签
git tag 标签名 创建给定标签
git tag 标签名 -m"说明文字" 创建给定标签并加说明
git tag -d 标签名 删除标签
git push origin 标签名 将标签推送到远程
git push origin --tags 将未推送的所有标签推送到远程
git push origin :refs/tags/标签名 删除远程的标签
--------------------------服务器交互-----------------------------------------------
git clone 协议地址 从服务器克隆代码
git remote -v 列出远程服务器
git remote 远程服务器 显示远程服务器信息
git remote add 远程服务器别名 远程服务器地址 添加一个远程服务器
git push 远程服务器别名 本地分支名 将本地分支推送到服务器上
git push -u 远程服务器别名 本地分支名 将本地分支推送到服务器上(第一次时)
git checkout -b 分支名 origin/分支名 将远程的分支获取到本地
--------------------------从服务器获取更新的代码-----------------------------------------------
git fetch 抓取据上次抓取服务器的变动信息到“版本库中”,不会更新“工作区”文件
git pull抓取据上次抓取服务器的变动信息到“版本库中”,然后和“工作区”文件进行合并 相当于 git fetch ; git diff tmp; git merge tmp三条命令
--------------------------将初始版本推送到服务器-----------------------------------------------
git remote add origin 服务器git地址
push -u origin --all # pushes up the repo and its refs for the first timegit
push -u origin --tags # pushes up any tags
可以参考 http://my.oschina.net/u/1169983/blog/310627