什么是git?
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
git具备的功能?
1)从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上
2)自己的机器上根据不同的开发目的,创建分支,修改代码。
3)在单机上自己创建的分支上提交代码。
4)在单机上合并分支。
5)把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6)生成补丁(patch),把补丁发送给主开发者。
7)看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8)一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 提交命令
git clone 厂库代码 --下载代码
git branch -r ---查看分支
git branch develop --创建分支
git checkout develop --切换分支
git branch --查看当前分支
git push --set-upstream origin develop --提交分支名称
git branch feature/home
git branch
git push --set-upstream origin feature/home
--前端项目
vue create vue-tea
--后端项目
npm install express-generator -g
express --view=ejs server
cd server
npm install
npm run start
http://localhost:3000/ --后端启动
--提交项目
git branch
git checkout develop
git add .
git commit -m'初始化项目'
git push
--克隆分支代码
git clone -b 分支名称 代码地址
如:
git clone -b develop https://gitee.com/nickel369369/vue-tea.git
三、在远程分支下,但是上传代码在某个分支上
3.2 配置本地身份
git config user.name '张三'
git config user.email '***@qq.com'
git config -l
3.1.develop分支下查看日志
进入项目 cd vue-tea
**记录hash:aeb1c839d97a53a406441ee42064ff4ee269b5ce
3.2 从远程分支拉到本地厂库
git brach -r
git checkout --track origin/feature/home
3.3 将dev分支commit对应的hash值提交的代码合并在home分支上
git cherry-pick aeb1c839d97a53a406441ee42064ff4ee269b5ce
3.4 修改自己的代码,然后提交
git add .
git commit -m"代码更新"
git push