开篇
网站: http://git-scm.com/download
基本上只能使用在Linux上,Wiindows系统下比较困难!
msysgit提供了工具可以使用!
安装
$ yum install git
安装成功之后需要执行如下命令:
# 用来定义你的名字和邮箱,相当于制定了门牌号
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
# 查看所有的配置信息
$ git config --list
起步
# 进行项目初始化
$ git init
# 添加文件
$ git add readme.txt
# 提交
$ git commit -m '书写注释'
# 查看是否有未提交的文件
$ git status
# 比较修改的内容
$ git diff readme.txt
# 查看历史记录
$ git log
# 查看历史(显示比较简单的信息)
$ git log –-pretty=oneline
# 退回上一个版本
$ git reset --hard HEAD^
# 退回上上个版本
$ git reset --hard HEAD^^
# 退回上100个版本
$ git reset --hard HEAD~100
# 显示版本号
$ git reflog
# 回退到某一个版本号
$ git reset --hard 版本号
# 放弃修改,这里 -- 很重要不写就变成了创建分支
$ git checkout -- readme.txt
# 删除文件
$ git rm readme.txt
概念
工作区:就是电脑的工作目录
版本库:每一个工作区中都有一个.git的隐藏目录,这个目录不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
Git提交到版本库需要两部:
第一步:使用git add 把文件添加到暂存区
第二步:使用git commit提交修改
忽略文件
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。
在工作区下面.gitignore文件中可以列举所有忽略的文件
# 以.o或.a结尾的文件
*.[oa]
# 以~结尾的文件
*~
GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表gitignore
远程仓库
使用远程仓库进行版本管理。首先需要在github上进行注册,于github服务器之间的通信使用SSH连接。
- 创建SSH Key。在用户的主目录下,.ssh目录下应该有id_rsa和id_rsa.pub文件。如果没有则使用下面的代码进行创建
ssh-keygen -t rsa –C “youremail@example.com”
- 登录github设置公钥(具体操作略过)
下面进行远程仓库的操作:
- 创建远程仓库
在github.com上创建一个项目 - 在个人工作区上创建一个目录,进行操作
$ mkdir blog
$ cd blog
$ git init
$ git add README.md
$ git commit -m '第一次提交'
- 提交到远程服务器
$ git remote add origin https://github.com/xxx/blogbak.git
$ git push -u origin master
- 如果已有代码,需要克隆下来
$ git clone https://github.com/xxx/blogbak.git
版本管理
每一次提交Git把他们串成一条时间线,这条时间线就是一个分支。目前只有一条时间线,在Git中这个分支称为主分支,就是master分支。
下面我们可以进行版本的管理
# 创建分支
$ git checkout -b dev
# 查看分支
$ git branch
# 切换分支
$ git checkout master
# dev分支上的内容合并到分支master上了,首先在master分支上
$ git merge dev
# 删除分支
$ git branch -d dev
每一个版本管理中最繁琐的都是处理冲突
实践
近期给公司网站咋github上发布,有些操作不顺利,特此备忘
- 申请github账号,隐去公司名称,使用 testHcm代替
- 在github上创建一个仓库,命名为 testHcm.github.io
- 生成密钥,在github中设置公钥
- 验证是否可以正常连接
ssh -T git@github.com
- 在本地工作目录上创建仓库
cd e:\work\testHcm
git init
- 设置全局信息
# 用来定义你的名字和邮箱,相当于制定了门牌号
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
# 查看所有的配置信息
$ git config --list
- 增加远程仓库
$ git remote add origin git@github.com:testHcm/testHcm.github.io
- 与远程仓库同步之前这步没有操作,导致了提交出现问题
$ git pull --rebase origin master
- 将待上传文件拷贝到工作目录下
- 使用命令进行提交
$ git add .
$ git commit -m "第一版"
- 提交远程服务器
$ git push origin master
网友评论