一、Git的安装
- Windows版的Git,从https://git-scm.com/download/...。
- 安装完成后,右键打开菜单栏找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
- 安装完成后,还需要最后一步设置,在命令行输入:
- git config --global user.name "Your Name"
- git config --global user.email "email@example.com"
备注:以上两步的名字和邮箱可随意配置,但最好使用自己的邮箱。
- git config user.name 用于查看配置的姓名
- git config user.email 用于查看配置的邮箱
- 因为Git是分布式版本控制系统,所以每个机器都必须自报家门:你的名字和Email地址。
二、 Linux的命令
- mkdir xxx 新建文件夹
vi x.txt 新建文件(Visual editor)
1.输入 i 进入编辑模式- ESC + :+ wq 保存并退出
- ESC + :+ q! 不保存并退出
- cd xxx 进入xxx目录
- cd .. 返回上一级目录
- ls 列出当前文件夹中所有文件
- pwd 显示当前目录
- cat x.txt 显示文件内容
- clear 清屏
三、 工作区+版本区+暂存区
- 工作区(working Directory):简单的理解——你在电脑里能看到的目录。
- 暂存区(stage):介于工作区和版本区中间,工作区到版本区的“必经之路”
版本库(Repository):工作区有一个隐藏目录.git,准确的来说这个不算工作区,而是Git的版本库。
- 第一步:git add把文件添加进暂存区。
- 第二步:git commit把暂存区的所有内容提交到当前版本库。
四、 创建版本库
git init命令:初始化版本库
- 创建成功会提示:Initialized empty Git repository in c:/Users/xxx/Desktop/demogit/.git/
目录上多出一个.git的文件夹,这个文件夹是Git来跟踪管理版本库的,不要去修改和删除这个文件里的内容。
git add x.xx命令:添加指定文件到暂存区中
1.没有任何提示,代表交成功了2.若未初始化,会提示fatal: Not a git repository (or any of the parent directories): .git
3.失败会提示fatal: pathspec 'x.txt' did not match any files
4.可能会出现警告:warning: LF will be replaced by CRLF in xxxxx原因: linux和window的换行符不一致导致的。 解决方式:执行命令git config --global core.autocrlf false
怎么查看文件有没有添加成功呢?
1.git status红色表示在工作区。 绿色表示在暂存区。 没有任何显示代表所有文件位于版本区。
git commit -m 'xxx' 提交暂存区所有文件到版本区
五、差异对比
- git diff : 比较暂存区与工作区
- git diff --cached : 比较版本区与暂存区
- git diff master : 比较版本区与工作区
六、日志+版本号
- git log 显示从最近到最远的所有提交日志
- git reflog 显示每次提交(commit)的commit id
七、版本回退+版本穿梭+版本撤销
- git reset --hard HEAD^ 版本回退(回退一次提交)
- git reset --hard Obfafd 回退到指定Obfafd的commit id版本
- git reset HEAD 用版本库中的文件去替换暂存区的全部文件。
- git checkout -- x.txt 用暂存区指定文件去替换工作区的指定文件(危险)
- git checkout HEAD x.txt 用版本库中的文件替换暂存区和工作区的文件(危险)
- git rm --cached x.txt 从暂存区删除文件
八、删除文件
- git rm x.txt 删除文件
- git rm -r xxxx 删除文件夹
九、分支
- git checkout -b dev 创建dev分支,并切换到dev分支
- git branch 查看当前分支
- git checkout master 切换分支
- git merge dev 合并dev分支到当前分支
- git branch -d dev 删除指定分支
- git diff branch1 branch2 显示出两个分支之间所有有差异的文件的详细差异
- git diff branch1 branch2 --stat 显示出两个分支之间所有有差异的文件列表
- git diff branch1 branch2 xxx 显示指定文件的详细差异
十、版本冲突
- 合并分支时,如果在同一个文件,在同一个地方,都修改了或新增内容会引起版本冲突。
- 解决版本冲突最好的办法是借助IDE解决,简单且高效。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。