git 简介
1. git 概述
分布式 版本控制系统
2. 与svn 的区别
- git 是分布式的版本控制系统
- 分布式: 没有中央服务器之说,每个人的电脑都是完整的版本库,每次只提交改动点。

- 分布式: 没有中央服务器之说,每个人的电脑都是完整的版本库,每次只提交改动点。
- svn 是集中式的版本控制系统
- 集中式 : 版本库存放在中央服务器,工作前需要先从中央服务器获取最新版本,在开始在自己的电脑上工作。

3. git 版本库
-
版本库概念: 仓库,目录
-
创建空的版本库:
git init -
添加文件到版本库的暂存区(可添加多个文件,用空格分隔):
git add file -
提交已添加到暂存区的文件快照到版本库的当前分支 : `git commit -m 'xxx’

-
查看版本提交(commit)记录 :
git log输出修改概述,提交时的commit id,提交时间,作者- 查看分支合并线路图 ;
git log --graph
- 查看分支合并线路图 ;
-
查看近期历史命令 :
git reflog -
版本回退到指定版本 :
git reset --hard commit_idcommit_id 可通git log或者git reflog命令进行查看
4. git 远程仓库
- 远程仓库 如 github , gitlab
- 本地仓库关联远程仓库 :
git remote add origin git@github.com:userName/respName.git - 将本地仓库分支推送并关联到远程仓库分支:
git push -u orgin master - 克隆远程仓库到本地 :
git clone git@github.com:userName/respName.git - 创建本地分支和远程分支的连接:
git branch --set-upstream-to <branchName> origin/<branchName> - 拉取远程分支到本地 :
git pull
文件操作
- 查看文件修改的内容 :
git diff 文件名 - 检出工作区已删除,但是版本库中未删除的文件到工作区 / 如果文件在工作区都版本库中都存在,则用版本库中的文件内容覆盖更新工作区的文件内容:
git checkout -- 文件名 - 从当前分支中删除文件(工作区的文件也会被删除):
git rm 文件名 - 从暂存区中强行删除文件(工作区的文件也会被删除):
git rm -f 文件名
分支管理
1. 创建分支
- 基于当前分支创建新分支
- 创建分支:
git branch 分支名 - 创建并切换到新分支:
git checkout -b 分支名不加-b为切换分支 - 创建并切换到新分支(最新版本支持) :
git swtich -c 分支名, 不加-c为切换分支
- 创建分支:
2. 查看分支
- 查看分支状态
git status - 检出本地分支
git branch
3. 删除分支
- 删除分支:
git branch -d 分支名 - 强制删除分支:
git branch -D 分支名 - 匹配分支名中存在xxx 字符的分支 批量删除分支 :
git branch |grep 'xxx'|xargs git branch -Dgit branch: 输出当前分支列表grep:是对 git branch 的输出结果进行匹配,匹配值当然就是 xxxxargs: 将参数列表转换成小块分段传递给其他命令
3.合并分支
- 将master 分支合并到当前分支 :
git merge master
4. 工作区分支内容暂存
- 不想提交工作区分支内容到仓库,但是想切换新的分支时,可将当前工作区的内容暂存:
git stash - 查看暂存内容 :
git stash list - 将暂存内容恢复到工作区(不删除暂存内容):
git stash apply - 删除暂存内容 :
git stash drop - 恢复并删除暂存内容:
git stash pop
5. 标签
- 概述: 标签是对commit 的标记,相当于commit_id 方便记忆或查询的一个名字
- 检出所有标签 :
git tag - 在当前分支的当前待commit上创建标签 :
git tag tagName - 创建对于commitId 的标签 :
git tag tagName commitId - 查看指定标签的说明 :
git show tagName - 删除本地标签 :
git tag -d tagName - 推送本地标签到远程 :
git push origin tagName - 删除远程标签 :
git push origin :refs/tags/tagName
[张雪峰git 教程] www.liaoxuefeng.com/wiki/896043…