github博客传送门
csdn博客传送门
git的简单操作
mkdir test #创建一个工作区目录
cd test #进入创建的目录
touch index.html #在创建的目录里 新建一个index文件
git init #进入仓库
ls -al #查看当前所有文件
cd ../ #回到工作区
git status #查看当前git的状态
git add index.html #将index添加到暂存区(目录树)
git commit #提交修改的内容 -m "添加的说明"
git log #查看提交的信息
git log --oneline #一行查看提交的信息(版本号+提交的信息)
git mv #对暂存区的文件进行修改
mv # 修改暂存区会出现 找不到修改前文件的错误
git rm #无法删除未添加到暂存区的文件
rm #删除未添加到暂存区的文件 (删除已添加的会提示找不到文件)
git回撤的操作
git revert HEAD~回撤的次数 # (从零开始数)
git reset HEAD^ --soft # 将分支中的提交撤回到暂存区 本地工作区还有 本地还有
git reset HEAD^ --mixed # 默认的参数 将分支中的提交撤回到本地工作区 本地还有 暂存区没有了
git reset HEAD^ --hard # 将版本完全回退一个版本 暂存区 本地工作区 本地文件都没有了。
git reset # 版本号 默认混合重置 回退到版本号 本地修改文件 未追踪的位置.
git分支的操作
git branch # 查看主分支
git branch dev # 创建了一个dev分支
git branch -d dev # 删除一个dev分支
git branch -m dev2 dev # 修改dev2的名字为dev
git checkout dev # 切换到dev分支上 master切换到主分支
# 在分支里面修改的时候不会影响到其它分支
git分支的合并
# 切换到master分支
git merge # 分支名如dev
git diff # 查看修改的地方
git diff master..dev # 比较两个分支的不同
# 合并冲突的情况
# 合并有同名的时候 需要修改同名文件的冲突 再添加到暂存区 最后提交
git禁用快进的合并
# 可以查看到详细合并的内容
git merge dev --no-ff -m "合并的描述" # 禁用快进合并
git stash # 将文件的修改 封存起来
GitHub托管服务
# 当本地将代码 提交到主分支之后(在git里操作的)
git remote add origin 远程仓库的地址 # 将本地的git仓库关联到远程仓库(在git里操作的)
git push -u origin master # 将本地的分支推送到服务器(在git里操作的)
# 然后就可以在github查看托管的代码了
克隆代码
git clone 被克隆仓库的地址 # 然后就下载到本地了
被克隆的仓库 切换到dev分支上 git push -u origin dev (本地的dev分支已经跟踪到了远程的dev分支)
git pull origin dev # 获取被克隆仓库的更新
git fetch origin dev # 更新远程的dev分支