Git学习笔记
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
一,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命令
2.1 入门
初始化当前目录为git仓库
git init
或
git init 仓库名
从服务器上克隆仓库
git clone gitHub仓库地址
从服务器上取回更新
git pull
或
git pull gitHub仓库地址
添加新文件
git add 文件名
提交版本
git commit
或
git commit -m "提交描述信息"
将修改推送到服务器
git push gitHub仓库地址 [分支]
2.2 分支与合并
列出所有分支
git branch
创建分支
git branch 分支名
切换分支
git checkout 分支名
创建并切换分支:
git checkout -b 分支名
第一个分支,或主分支,被称为"master"。
更新新分支【分支名】上的东西到主分支上
git rebase [分支名]
更新主分支的东西到【分支名】上
git rebase master
合并分支
git checkout master
删除分支
git branch -d [分支名]
或者
git branch -D [分支名] #强制删除
三,Git提交代码
使用Git前,需要先建立一个仓库(repository)。你可以使用一个已经存在的目录作为Git仓库或创建一个空目录。
使用当前目录作为Git仓库,我们只需使它初始化。
git init
或者
git init 仓库名称
将 GitHub(远端/远程)的相应仓库拷贝到本地计算机中。
git clone gitHub仓库地址
命令执行完成后就将远端的Repository拷贝到本地计算机中了。
当我们将文件添加到仓库目录下时,要执行add命令才能把文件加到Git仓库中。
git add 文件名称
或者
git add -all #添加所有文件
或者
git add . #提交所有文件
添加文件后,此时还没有被保存进Git仓库中,还需要进行commit才能提交进仓库。
git commit -m "描述信息"
提交到仓库后在继续同步到GitHub上面。
git push gitHub仓库地址
或
git push gitHub仓库地址 分支 #默认分支为master
以上就是一次完整的提交代码过程。