学习网址链接:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
前言:笔记范围(远程仓库管理章节为止)
Git的优势:
1) Git和svn的一个区别是Git有一个暂存区
2) Git管理的是修改,而非文件(提交到暂存区的内容)
3) 远程仓库
4) 创建、切换和删除分支极快
Windows环境,安装使用git bash, 确保目录名(包括父目录)不包含中文
千万不要使用windows自带的记事本编辑任何文本文件,用notepdd++代替记事本,将默认编码设置为UTF-8 without BOM
Git版本控制工具(github和BitBucker)
设置git
gitconfig –global user.name “your_username”
gitconfig –global user.email “your_email@domain.com”
gitconfig –global push.default simple
创一个本地代码库
1) cmd,cd到你的站点的根文件夹
2) 初始化一个新的本地git代码库 git init,会创建一个名为.git的隐藏文件夹,即你的代码库
加载(stage)文件 git add. à所有文件、文件夹、子文件夹
提交文件 git commit –m “initialcommit” à第一个提交的注释
检查已加载(staged)和未加载(ustaged)文件的状态
git status 修改后的都在暂存区
git diff 查看文件修改
提交修改与提交新文件是一样的,需两步
创建ssh key:
ssh-keygen–t rsa –C “your_email” (输入自己的电子邮件地址)
checkout–filename 丢弃工作区的修改(分两种情况,已提交到暂存区修改和未提交)
创建分支
1) 创建并同时切换到你的新建分支
git checkout –b new_feature
或者 先创建一个分支并手动切换
2) git branch new_feature
git checkout new_feature
3) 查看当前项目下的所有分支
git branch
合并分支
1) 加载并提交你的文件
git add .
git commit –m “youcomment”
2) 移到主干分支
git checkout master
3) 合并分支
gitmerge new_feature
注:实际开发过程中,开发处理自己的分支合并;项目的master合并由开发组长接受开发的合并请求,Review代码后进行合并工作。
丢弃分支
删除分支 gitbranch –d new_feature
未合并删除,需强制执行(大写D)
回滚到之前提交状态
查看之前的记录 gitlog
gitlog –pretty=oneline
查看到每条记录的commitId git reflog 可以看到所有的日志,相当于重返未来
gitcheckout {ID}
gitcheckout –b my_previous_vision {ID)
推送到远程代码库
gitremote add origin https://....
gitpush origin master
取得远程代码库的一份本地拷贝
本地没有时, gitclone https://....
本地有,只想取得最新版git pull origin master
Git支持多种协议,包括https,但通过ssh支持的原生协议速度最快
Git鼓励你使用分支完成某个任务,合并后再删除掉分支,如此过程更安全。