作用:
- 版本控制可以记录每次文件的变更记录
- 还能够帮助还原任何一次的历史变更
- 实现团队的协同工作
- 集中式版本控制--svn
- 分布式版本控制--git
分布式的版本管理git由Linus(Linux开发者)开发
- 2005 年 4 月 3 日, 开始开发 Git。
- 2005 年 4 月 6 日, 项目发布。
- 2005 年 4 月 7 日, Git就可以作为自身的版本 控制 工具 了。
- 2005 年 4 月 18 日,发生 第一个多分支合并。
- 2005 年 4 月 29 日, Git的性能就已经达到 了 Linus 的 预期。
- 强容灾性
- 速度快
- 设计简单
- 很好的分支管理
- 大型项目的版本控制大多基于git管理
- 从远程仓库中clone资源到本地仓库。
- 从本地仓库checkout代码进行修改
- 将修改后代码add到暂存区
- commit修改到本地仓库
- push本地仓库修改到远程仓库
下载地址,windows版双击默认安装即可
git图形化客户端
git init# 1.添加文件到暂存区 .(或者文件名)
git add .
# 2.提交文件到master分支
git commit -m '提交日志'
# 3. 查看本地仓库的状态
git status工作区:电脑里能看到的目录
版本库:工作区有一个隐藏目录
.git暂存区:版本库中有一个叫做stage(或者叫index)
# 1.添加文件到暂存区
git add .
# 2.提交文件
git commit -m '日志'删除之后,如果提交修改,那么版本库的文件就会删除
查看提交日志a
恢复master分支到上一个版本
至此,仓库中master分支的文件已经恢复,在工作去还原master分支
.gitignore文件参考内容
.idea
*.iml
out
gen
target
*.class
*.log不需要额外配置,在同步时候提供github的用户名和密码即可
将本地仓库和进行同步,以便将本地仓库的数据备份到远程仓库
# orgin是远程仓库的别名
git remote add origin 仓库的ssh地址如果以前同步过会出现如下错误
删除以前同步记录即可,然后重新同步即可
git remote rm origin推送本地仓库到远程仓库
# 将本地仓库master分支到远程仓库
git push -u origin master# 添加远程仓库
git remote add origin 仓库的https地址
# 提交代码
git push -u origin master- 添加基于https路径的远端仓库信息
- 点击推送或者拉取按钮
- 输入用户名和密码
将远程仓库克隆到本地,克隆会在本地创建一个新的仓库
$ git clone [email protected]:sublun/mytest.git- 右键选择clone
- 输入克隆地址
- fech:从远程仓库获取最新版本到工作区,不会自动merge(合并代码)
- pull:相当于是从远程获取最新版本并merge到本地工作区
fetch更加的安全,假如pull和fetch的结果一样,pull更加方便
git pull=git fetch+git merge
# 查看远程仓库
git remote -v
# 获取远程仓库代码到本地仓库,并且创建一个新的分支temp
git fetch origin master:temp
# 比较temp与本地master分支的不同
git diff temp
# 合并temp分支到master
git merge temp
# 删除temp分支
git branch -d temp- A和B两个人编辑同一个文件
- A提交修改到本地仓库,推送远程仓库
- B在未从远程仓库更新情况下,然后修改相同文件(已过期),并且提交本地修改,推送到远程仓库时冲突发生
- 尽量避免不同人修改同一个文件
- 如果修改相同文件,应该先更新再修改
- 如果重复发生,相关人员在发生冲突方协商解决
- 冲突解决完成后,标记已解决,提交代码,双方都更新最新代码
- 冲突文件
- 标记已解决
-
安装git服务环境准备
yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc
-
下载git-2.5.0.tar.gz,并安装
1)tar -zvxf XXXX.tar.gz 2)cd git-2.5.0 3)autoconf 4)./configure 5)make 6)make install
-
添加用户
adduser -r -c 'git version control' -d /home/git -m git -
设置密码
passwd git
-
切换到git用户
su git
-
创建git仓库
git --bare init /home/git/first
操作方式基本和连接github一样,我们的git服务器并没有配置密钥登录,所以每次连接时需要输入密码
$ git remote add origin [email protected]:first**HEAD:**指向当前正在使用分支的指针
**master:**创建仓库时,git默认就会创建一个master分支
-
master指向当前最新的提交,HEAD指向master,master就是一条线
# 查看当前分支 git branch
-
创建新分支dev
# dev:新分支名称 -b:创建并切换到dev git checkout -b dev -
在dev分支上进行开发,master分支不变
git add readme.txt git commit -m "branch test" -
此时,变更发生在dev分支上,如果切回master,看不到变更信息
# 切回到master分支,不会看到dev分支上的修改内容 git checkout master -
master分支合并dev分支
# 切回master分支,再进行合并 git merge dev -
删除dev分支
# 切回master分支,删除dev分支 git branch -d dev
选择存放本地仓库的位置
点击提交按钮
输入日志信息





























































