1.Git初识
- 更好备份-->差异备份,文件快照备份
- 可以跟踪文件改动,二进制文件无法跟踪文件变化
- 快照-->回溯到之前的某一提交状态,或者整个项目回到某一状态
- 适合团队开发
2.cenos 6.4安装Git
- yum install git (如果报错可能是你的网络环境有问题)
3.创建版本库(仓库)
- 构建一个空目录或者空目录(linux环境下:mkdir,cd,pwd)
- git init --> 将目录变成git可以管理的仓库
- 在git仓库中新建一个文件(可以是txt文件,使用notepad++)
- git add 文件名(上一步创建的文件名) --> 将文件添加到git仓库
- git commit -m "提交的说明" --> 将文件提交到git仓库(产生一个commit id)
- git log --pretty=oneline --> 查看文件修改的历史记录, (--pretty=oneline 选项设置显示信息为一行,可选)
4.回溯
- git中使用HEAD表示当前版本,上一个版本HEAD^,上上个版本HEAD^^,前面100个版本HEAD~100
- git reset --hard HEAD^ -->回溯到上一个版本
- git reflog --> 记录每一次命令
- git reset --hard commit_id -->实现版本切换
5.工作区和暂存区
- 工作区:电脑中可见的目录
- 版本库中的暂存区:.git目录下的stage
- git status 查看状态
- git add:把提交的修改放到暂存区,git commit 可以一次性把暂存区的修改提交到分支
- 每次修改文件都要使用git add 将文件放到暂存区,左后git commit 提交暂存区中的所有修改
6.撤销修改
- 分为三种情况:一种在工作区中的修改(尚未git add);第二种是提交到暂存区中的修改(执行gita dd);第三中是提交到分支后的修改(执行git commit)
- 第一种情况:git checkout --文件名 -->丢弃工作区的修改
- 第二种:git reset HEAD 文件名 -->把暂存区的修改撤销掉,重新放回工作区(然后执行第一步,丢弃工作区 修改)
- 第三种:使用版本回退,到上一个版本(没有推送到远程版本库)
6.删除和回复文件
- 直接删除工作区中的目录(或在命令行中执行:rm 文件名 删除文件),之后使用git status命令,会提示两种选择:从版本库中删除该文件;或者恢复工作区中的文件
- 删除:git rm 文件名
- 恢复: git checkout -- 文件名 -->用版本库中的文件替换工作区中的文件
7.将本地仓库内容同步到github仓库中
- 在github上创建一个新的仓库
- 在命令行执行
- git remote add origin https://github.com/strawmoon/MyRep.git -->关联一个远程库
git push -u origin master -->第一次推送master分支的所有内容 - git push命令将当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上-u参数,git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送和拉取中简化命令。(以后只要本地做了提交,就可以通过命令 git push origin master把本地的master分支推送到Github)
8.从远程库克隆
- 知道仓库的地址,使用git clone命令克隆
- git clone 仓库地址(例如 git clone https://github.com/strawmoon/MyColone)
9.创建分支
- git checkout -b 分支名称 -->参数-b表示创建并切换分支
- git branch 分支名称 --> 创建分支
- git checkout 分支名称 -->切换分支
- git branch 查看当前分支(当前分支会有一个星号)
- git checkout 分支名称 -->分支切换
- git merge 分支名称 -->合并某分支到当前分支
- git branch -d 分支名称 -->删除分支