1、Git与Github介绍html
1.Git介绍 git
git是干什么用的?实现版本控制。各行各业都须要版本控制,主要实现版本控制的工具方式分别为svn和Git。程序员
二、Github介绍github
GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)vim
三、两者关系并发
Git自己彻底能够作到版本控制,但其全部内容以及版本记录只能保存在本机,若是想要将文件内容以及版本记录同时保存在远程,则须要结合GitHub来使用。使用场景:a、无GitHub:在本地 .git 文件夹内维护历时文件;b、有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库svn
2、Git基本使用工具
一、第一次使用测试
''' 一、在电脑上安装git软件(自行下载软件并安装) 二、启动git:建立的项目的文件夹里面右键--->点击Git Bash Here 三、git初始化:git init 四、配置Git:分别执行命令: git config --global user.email "you@example.com" git config --global user.name "your name" '''
二、版本控制fetch
''' 一、文件添加到git:git add . (.指目录下全部的文件,也能够指定文件) 二、文件提交git备份:git commit -m "描述信息" 三、查看版本状态:git status 四、查看版本提交记录:git log 五、回滚指定版本: git reset --hard 版本号 (版本号能够经过git log查看,为随机字符串) 六、查看日后提交记录:git reflog '''
以上请注意:必定记得先add,后commit,add以后是没有放到版本里的,只有commit的时候才有版本。
三、修复bug
有这样一个场景,产品上线后,开发员A将在继续开发一个新的功能,当新功能开发到一半时候,忽然线上的版本出现bug,A要对其进行当即的修复,流程以下:
方式一:stash
stash用于将工做区发生变化的全部文件获取临时存储在“某个地方”,将工做区还原当前版本未操做前的状态;stash还能够将临时存储在“某个地方”的文件再次拿回到工做区。
#步骤: ''' 一、git stash:将开发到一半的直播功能,临时存储到“某个地方” 二、git status:查看工做区回到当前版本未作任何操做前(此时即为上线的版本) 三、修复bug 四、git add . 五、git commit -m '紧急修复bug' 六、git stash pop:将开发到一半的直播功能从“某个地方”再次拿会工做区继续开发 '''
注意:执行 git stash pop 命令时,可能会遇到冲突,由于在紧急修复bug的代码和经过stash存储在“某个地方”的代码会有重合部分,因此执行 git stash pop 时候就会出现冲突,有冲突解决冲突便可。
方式二:分支
branch称为分支,默认仅有一个名为master的分支。通常开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。建立新分支,即:拷贝一份当前所在分支代码到新分支。
#分支相关命令: ''' git branch 分支名称 建立分支 git checkout 分支名称 切换分支 git branch -m 分支名称 建立并切换到指定分支 git branch 查看全部分支 git branch -d 分支名称 删除分支 git merge 分支名称 将指定分支合并到当前分支 '''
修复bug流程:
''' git branch dev (建立开发分支dev,全部的开发在dev分支上进行) git checkout dev 写代码 git add . git commit -m 'xxx' git checkout master git branch bug (在master分支建立bug分支,在bug分支上修复bug,master分支上存储的是正式上线的版本。) git chekcout bug 修复bug git add . git commit -m '紧急修复bug' git checkout master git merge bug (在bug分支上修复完bug后,提交。并再此与master上的版本合并,并不影响dev分支上的开发。) git branch -d bug git checkout dev 继续开发 '''
3、Github基本使用
一、代码托管
正常的程序员通常都会存在多个办公地点,家里、公司或者咖啡厅,可是咱们又不能随身将代码装在优盘或者随身携带电脑,这该怎么办呢?就会用到github进行代码托管。实例以下:
初次上传代码:
''' 一、注册github帐号,登陆后建立代码仓库 二、建立完后复制代码仓库的链接 三、在git上建立别名:git remote add origin 代码仓库链接 四、首次上传代码到github的master分支:git push origin master 五、一样也能够将代码上传到dev分支:git push orgin dev '''
具体应用实例:
家里: git add . git commit -m 'xx' git remote add origin https://github.com/WuPeiqi/greenlu.git git push origin master 公司: # 新公司第一次获取代码 方式一 git clone https://github.com/WuPeiqi/greenlu.git 方式二 git init git remote add origin https://github.com/WuPeiqi/greenlu.git git pull origin master 直接拿回来 方式三 git init git remote add origin https://github.com/WuPeiqi/greenlu.git 这的两句至关于git pull origin master 这一句 git fetch origin master 拿到分支上了 git merge origin/master 合并在一块儿
二、协同开发
假如三我的共同开发同一份代码,每一个人都各自安排了任务,当每一个人都完成了一半的时候,提交不提交呢?要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来。因此,为每个人建立一个分支,各自都在各自的分支上写代码,互不影响。很短期内你们暂时先合并一次,否则冲突太多了。可是这个分支不是dev,而是review分支,当老大看完没问题以后再合并到dev分支。
#先建立了一个dev的分支 git branch dev git checkout dev git push origin dev #又建立了一个review的分支 git branch review gir checkout review git push origin review #建立本身的分支 git branch haiyan git checkout haiyan git pull origin haiyan
应用实例:
张三建立了个文件 git branch xxx git checkout xxx touch a.py ls git add . add commit -m '代码初始上线' git push origin xxx ls vim a.py #写了一些内容 git add . add commit -m '小功能开发完毕' git push origin xxx #如今两人都写完了,开始合并和review进行合并了 git checkout review git pull origin review #吧远程的review拉下来 #把本身的合并发到review git merge xxx ls git status git push origin review #再次写的时候 git pull origin review 李四建立了个文件 git branch yyy git checkout yyy touch s.py ls git add . add commit -m '到了新公司好激动啊' git push origin sk ls vim s.py #写了一些内容 git add . add commit -m '小开发完毕' git push origin yyy #如今两人都写完了,开始合并和review进行合并了 git checkout review #git pull origin review #若是先没有吧远程的review拉下来 #吧本身的合并发到review git merge yyy ls git status git push origin review #这时候的review是最新的,那么张三先提交了,完了她还得拉先来再合并一次 注意:老大看了review分支,若是OK,能够放到dev分支进行测试,若是测试没有问题了才放到master分支。 master分支:线上的版本,永远保证线上的版本,不管是回滚到哪都是能用的
以上内容参考博客:http://www.cnblogs.com/wupeiqi/articles/7295372.html