git(程序员的时光机)

点点圈 提交于 2020-01-14 04:22:06

git 是什么

最强大的分布式版本控制系统,没有之一

版本控制: 完成一项任务,最终的成果可能是经过中间修修修改n次得到的,在这n个版本之间的切换就叫版本控制。

集中式的版本控制svn,cvs缺点: 需要联网,还很慢

git 主要特点:

(1)直接记录快照,而不是记录差异

(2)几乎所有的操作都是本地完成,除了与远程仓库之间的互动需要联网,其他无需网络,而且git记录了之前做的所有操作,想看一个月之前的,无需将旧版本拉下来,git已经记录下来了

(3)git 保证完整性,git数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名,属于你的任何操作,git都很清楚

github:一个网站,https://github.com/  基于git的代码托管仓库,某种程度上就是一种代码网盘,上面放着各种开源的代码(也有私有的仓库)

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

git的安装

centos系统

yum install -y git

git初始化

mkdir git  # 创建用于git管理的文件夹 git
cd git     # 进入该文件夹
git init   # 将该文件夹变成一个本地可以管理的仓库,该文件夹下多一个.git的文件夹 用来管理版本库

配置git

git config --global user.name "   "
git config --global user.email " "

 

git 工作流程

  1. 修改,添加工作区的目录,文件
  2. 将修改文件的提交到缓存区
  3. 提交缓存区的文件到仓库

 

git 基本操作

#查看修改的文件
git diff 文件名
git diff  id id  查看两次修改的差别
#查看工作状态
git status

# 将修改的提交到缓存区
git add  文件名,这个步骤代表文件变成已跟踪状态

# 提交到仓库
git commit -m “add message”# 查看日志git logsgit log --pretty=oneline(精简显示)  --graph  --abbrev-commit

git 分支

# 建立分支
git checkout -b mygit

# 根据远程的分支建立自己的的分支
git checkout -b  mygit  origin/develop

# 远程分支更新
git checkout develop 切换到develop分支
git fetch 拉取远程分支
get merge 将远程分支合并到本地develop 分支

# 更新自己的分支
git checkout -B mygit origin/develop#合并分支git merge 分支名  合并“分支名”到当前分支#删除分支git branch -d 分支名 删除本地分支git push origin --delete 远程分支名  删除远程分支

 

git 远程仓库

#直接clone 就可以得到远程github分支
git clone url

#添加远程仓库
git  remote  add origin  git@github:地址

#显示远程信息
git remote  远程分支的名(origin)
git remote -v  远程仓库地址

# 推行到远程
git push origin -u mygit (第一次推 需要-u  远程会建立一个跟本地一样的mygit 分支,两者自动关联)

 

git 退回 撤销操作

 

git 较难理解的指令

git rebase

git checkout

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!