文件命令
clear 清空屏幕
cd 切换文件目录
mkkdir 创建文件夹
pwd 用于显示当前的目录
rm 删除文件
cat 查看文件
初始化
git init 将本地的目录变成git可以管理的仓库;
提交
git add [ filename || *] 将文件提交到缓存区里面
git commit -m “[提交的注释]” 将文件提交到仓库中
第一次远程提交
git remote add origin 【https://github.com/tugenhua0707/testgit.git】
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分 支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在 以后的推送或者拉取时就可以简化命令
以后提交
git push origin master
git remote 查询远程库信息
git remote -v 查询远程库的详细信息
克隆
git clone【https://github.com/tugenhua0707/testgit.git】 项目地址
查看状态
git status 查看当前文件状态
说明当前文件未提交
git diff [“文件名”] 查看文件呢到底改变了那些内容 也可以查看分支改变了那些内容
git log 打印历史提交的内容

git log -pretty-online 输出为git log 的简化版
git show
版本控制
场景:当我们不得不做一些版本的回退动作时;先 git reflog 获取所有提交信息;然后 git reset ‘版本号’
git reset hard HEAD^ 回退到上一版本如果要再上一版本可以多交一个^
git reset —hard HEAD~100 回退到之前的100个版本
git reset —hard[“版本号”] 到某一版本也可以用这个转到最新的版本
git reflog 获取版本号
撤销和删除文件
有如下几种方法可以做修改:
第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存 区,最后commit掉。
第二:我可以按以前的方法直接恢复到上一个版本。使用 git reset —hard HEAD^
第三:首先在做撤销之前,我们可以先用 git status 查看下当前的状态。
git checkout — [“file”]。来撤销
分支
git checkout -b dev 创建并切换dev分支,相当于下面两句
git branch dev 创建dev分支
git checkout dev 切换dev分支
git branch 查看分支,并列出所有分支
git merge dev 合并dev分支(合并分支之前先要将其他分支提交到仓库中)
git branch -d name 删除分支
分支冲突
在主分支和其他分支都有不同内容的时候就会产生冲突,

git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<
分支管理策略。
通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。首先我们来做demo演示下:
- 创建一个dev分支。
- 修改readme.txt内容。
- 添加到暂存区。
- 切换回主分支(master)。
- 合并dev分支,使用命令 git merge –no-ff -m “注释” dev
- 查看历史记录
bug分支
在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。
Git提供了一个stash功能,可以把当前工作现场 ”隐藏起来”,等以后恢复现场后继续工作。
git stash 将当前的工作现场隐藏起来
git stash list 查看所有被隐藏的的文件列表
**工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,可以使用如下2个方法:
git stash apply 恢复,恢复后,stash内容并不删除,你需要使用命令git stash drop来删除。
另一种方式是使用git stash pop,恢复的同时把stash内容也删除了。
多人合作
当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。
<br />这显示的是远程库的信息为origin<br />**git push 推送**<br />**git fetch 抓取**
git fetch origin 本地更新某个分支
git pull git pull是git fetch后跟git merge FETCH_HEAD的缩写。
取回远程主机某个分支的更新,再与本地的指定分支合并,
列:要取回origin主机的next分支,与本地的master分支合并
$ git pull origin next:mast 如果是当前分支,那么mast可以省略
$ git pull origin next
多人协作工作模式一般是这样的:
- 首先,可以试图用git push origin branch-name推送自己的修改.
- 如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
- 如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送
标签
git tag 查看所有标签
git tag [name] 打开一个标签 <标签都只存储在本地,不会自动推送到远程。>
git show [tagename] 查看标签信息
git log 如果提交历史中有标签,那么会打印标签的相关信息
可以直接复制id的前几位 加 git tag [tageid] 切换tag
<br />**git tag -d 【tagName | id】 删除某人标签**<br />**git push origin 【tagName】 将标签推送到远程**
修改
修改还未提交的 commit 信息:git commit –-amend
