git的详细使用过程+常见冲突解决
标签(空格分隔): git的详细使用过程 git提交常见冲突解决
序:
代码托管分两种,一种是SVN一种是git,二者都是一种技术,用于代码管理的,对应的工具有很多,比如:SVN的有:TottoiseSVN;git的有:sourcetree;前者大公司使用的较多,属于集中式管理,后者git属于分散式管理,集中还是分散是针对每个开发者手中的代码而言的,具体不解释了。我常用的是git,使用命令行居多,偶尔使用图形化git--sourcetree;初学者可能对这一套东西不好理解,不会很深的体会到这么做对开发意义有多大。代码托管说白了就是保管包代码书写的任意提交过的状态,那一刻的项目代码是什么样子的。我要是想回退到那一刻就可以回到哪。之前代码遇到bug,但是要放下手头开发进度。这时可以另开一个hotfix热修复分支,没问题再合并到主分支上。git的log日志记录了这个项目的从生到死,每一步历程。N年后老子要回到V1.0版本也没人能拦住你。
Git工作原理
对于任何一个文件,在 Git 内都只有三种状态:
- 已提交(committed)
- 已修改(modified)
- 已暂存(staged)
已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。
所以Git 管理项目时,文件流转分为三个工作区域:
- Git 的工作目录
- 暂存区域
- 以及本地仓库。
ps:
每个项目都有一个 Git 目录,它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。
从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录,这些文件实际上都是从 Git 目录中的压缩对象数据库中提取出来的,接下来就可以在工作目录中对这些文件进行编辑。
所谓的暂存区域只不过是个简单的文件,一般都放在 Git 目录中。有时候人们会把这个文件叫做索引文件,不过标准说法还是叫暂存区域。
基本的Git工作流程如下:
1、在工作目录中修改文件。
2、暂存文件,将文件的快照放入暂存区域。
3、提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录。
git共享仓库简介
Git要求共享仓库是一个以.git结尾的目录。
mkdir repo.git 创建以.git结尾目录
cd repo.git 进入这个目录
git init --bare 初始化一个共享仓库,注意选项--bare
这样我们就建好了一个共享的仓库,但这时这个仓库是一个空的仓库。
以上是我们直接创建裸仓库的步骤,除了上面的方法外,我们还可以通
git clone --bare 仓库地址的形式,将已有一个仓库导出成裸仓库
pswindow的文件系统的限制不能直接创建点开头的文件,所以这里使用命令创建,还有sublime也可以创建点结尾的。
向共享仓库共享内容
通过: git push 仓库地址
从共享仓库里取出内容
git clone ./repo.git demo
git pull ../repo.git master
ps:
常见的共享仓库有哪些呢?国外有gitlab和github前者名气不如后者,但是前者提供免费的私有空间,也就是你不花钱就可以托管自己的不公开代码,后者圈里的人都知道,也常常逛,等同世界级技术宅们的技术博客、后花园、代码库等。毕竟服务器在国外嘛,节点比较远,就是说你链接到他们的服务器上要中转很对站(节点);速度肯定不比国内,不过还好的啦。有些公司为了节省成本可能会使用gitlab。国内也很多的,常见有coding、码云等,使用的也比较多。
Git使用
具体步骤
- 想让那个文件夹(项目目录)被git所管理就进入哪里,右键:git bash here即可。
- *配置用户(一台电脑配置一次即可,除非哪天重装系统了)
git config --global user.name "自已的名字"
git config --global user.email "自已的邮箱地址" - *初始化仓库:git init (如果是克隆线上仓库的项目,自带.git文件,就不必初始化了)
- 查看文件状态:git status
- *添加文件到暂存区 git add file * 或 -A
- *提交文件:git commit -m '备注信息'
- 查看历史:git log
- 恢复到上一次的提交:git reset --hard sha值
ps:前边带*表示必须经历的步骤。
其他常用命令:
创建分支: git branch 分支名称
切换分支:git checkout 分支名称
查看分支:git branch
合并分支:git merge 分支名称(例如:向master分支上合并就先切换到master,然后再合并。)
删除分支:git branch -d 分支名称
git安装
- Window安装
http://git-scm.com/download/win下载Git客户端软件,和普通软件 安装方式一样。(自带图形和命令行两种) - Linu安装
CentOS发行版:sudo yum install git
Ubuntu发行版:sudo apt-get install git - Mac安装
打开Terminal直接输入git命令,会自动提示,按提示引导安装即可。
今天太晚了,常见冲突解决后边再补上。
----------------------------------------------------喜欢就动动小手哈。------------------------------------------------------
--------------------------------------你的支持是洒家-麦壳-macrolam前进的动力--------------------------------------