1.32 GIT代码版本控制
-
GIT是什么
-
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
-
Git 与 SVN 区别点:
-
Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
-
Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
-
Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
-
Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络
-
GIT的实际使用
-
说明
-
workspace:工作区
-
staging area:暂存区/缓存区
-
local repository:或本地仓库
-
remote repository:远程仓库
-
简单操作
-
创建仓库
-
git init - 初始化仓库。
-
git clone 拷贝一份远程仓库,也就是下载一个项目。
-
公司使用的gerrit,选择副本和ssh,搜索项目名直接会显示详细的git clone命令
-
然后在本地要下载的目录复制命令,直接就下载到本地了
-
提交和修改
-
git add . - 添加文件到暂存区。
-
git status 查看仓库当前的状态,显示有变更的文件。
-
git diff 比较文件的不同,即暂存区和工作区的差异。
-
git commit -m "Adding files"提交暂存区到本地仓库。将暂存区内容添加到仓库中
-
git reset 回退版本。
-
git rm 删除工作区文件。
-
git mv 移动或重命名工作区文件。
-
提交日志
-
git log 查看历史提交记录
-
git blame <file> 以列表形式查看指定文件的历史修改记录
-
远程命令
-
git remote 远程仓库操作
-
git fetch 从远程获取代码库
-
git pull 下载远程代码并合并
-
git push 上传远程代码并合并
-
Git 分支管理
-
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
-
创建分支命令: git branch (branchname)
-
切换分支命令: git checkout (branchname),当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。
-
合并分支命令: git merge
-
$ git branch -a,查看所有的分支
-
git checkout apaas/api3.0 切换到固定版本。
努力不一定成功,但不努力一定会失败~