什么是git、github
git 管理代码的开发过程、团队协作
github 网站 社交平台 开源项目 远程仓库
svn和git的区别
svn 集成式 多人开发一个项目的时候 需要一个中央服务器 每一个开发人员都要通过中央服务器进行代码的一个获取和代码的一个提交
1、当开发人员本地的代码被删的时候 是没有备份的
2、中央数据库的代码被删的时候 也是没有备份的
git 分布式
每一个开发人员都有一个版本控制库 每一个人都可以有版本的操作 也不用担心丢失数据的风险不需要连接中间服务器 任意时候都可以进行开发 多人开发一个项目的时候 这时候就出现了github(远程仓库)中转站 不同的地点都可以访问
将git和github连接起来
1、克隆(下载)远程的仓库
git clone 仓库地址
2、设置贡献者
git config –global user.name “name” 没有提示就说明配置成功了
git config –global user.email “105122@qq.com” 没有提示就说明配置成功了
git中的分支
稳定版本 上想要发开发新的功能 主分支master
就要新建一个分支 next 当next分支开发好了 就将next和master合并
git的三个区
1、工作区:项目在本地可以看到的 在工作当中正在编写的代码
2、暂存区:暂时保存工作内容的区域 过渡层(可以避免误操作)保护版本区和工作区
3、版本库:分支对工作区的操作
1->2 git add
2->3 git commit
git的命令
git status 查看工作区和缓存区的一个状态
git add “文件名字” 将文件从工作区添加到暂存区
git add . 会将所有修改过的文件都提交至暂存区
git commit -m “注释” 将文件从暂存区添加到版本库
git commit -a -m “注释” 将工作区的内容直接提交到版本库
git log 查看提交的历史
git diff 查看工作区和暂存区的差异对比
git diff –cached 暂存区与版本区域的一个对比
git diff master 查看工作区和版本库之间的一个对比
git中的撤销操作
git reset Head “test.txt” 从暂存区撤销回工作区
git checkout — test.txt 将工作区撤销回到版本区的一个版本
git commit -m “注释” –amend 适合如下的情况
已经提交过一个 a.txt 但是实际改变的还有b.txt(没有提交) 都针对的是缓存区
使用这个命令就会让之前提交的过的a.txt撤销到工作区 现在和b.txt一起重新提交
git命令的删除操作
git rm 文件名 加入工作区删了一个文件 这个命令就会删除暂存区的对应的文件
git rm -f 文件名 将一个已经添加到暂存区的文件直接删除(同时也会自动删除本地的文件)
git rm –cached 文件名 将一个已经添加到暂存区的文件直接删除(但是不会自动删除本地的文件)
git 命令的恢复操作
先通过git log 得到每次提交的id 回到过去
git checkout id 文件名字 将这个文件还原到那次提交的状态 恢复具体的文件
git reset –hard id 将这个项目还原到id对应的版本
git reset –head HEAD^ 将这个项目还原到上一个提交的版本
git reset –head HEAD~3 将这个项目还原到前3个版本
已经恢复到之前版本的项目 回到没有恢复之前 回到现在
git reset –hard id id为想要去的版本
本地的版本同步到远程的仓库
同步到远程的仓库以后 就可以进行多人协助的开发
查看远程仓库 git remote 默认的是origin
git remote -v 查看名字所对应的远程的地址
git push origin master 将项目同步到远程仓库origin 的master的分支上
在远程的github上点击 commits就可以查看提交过的版本记录
这里的提交就是指 工作区到本地的版本
设置多人协作
github网上seeting 点击collectors 添加多人协作