一、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解决,简略且高效。