Git 使用
$ mkdir hx 创建文件夹
$ cd hx
$ ls (-al) 文件内容列表
$ echo 1 > index.html // 把1输出到新创建的index.html文件中 > 表示清空并入
$ echo 2 >> index.html // 追2加到index.html中 >>表示在原来文件的末尾追加
$ cat index.html //查看文件内容
$ git add index.html //把文件添加到暂存区
$ git commit index.html –m”” //把文件提交到仓库
$ git diff //查看工作区和暂存区中的文件区别 修改的内容(如果git status告诉你有文件被修改过,用git diff可以查看修改内容。)
$ git diff –-cached //可查看暂存区和历史区的差异
$ git log //查看历史记录,记录目录按照先后顺序排列,各个版本
$ git reflog //以前操作记录你的每一次命令
$ git log –oneline //简洁地显示
git log --oneline --grep='index.html' //grep 过滤提交日志
$ git reset --hard HEAD^ //把历史区重置到上一个提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
$ git reset --hard 521cb3d //还可以指定版本号
• git reset –-mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本, 工作区 不变,回退历史区 和 暂存区
• git reset –-soft:回退到某个版本,只回退了历史区的信息,工作区 和 暂存区 都不变
• git reset –-hard:彻底回退到某个版本,回退 工作区 、历史区 和 暂存区 。
$ git reset HEAD index.html //把历史区拉回到暂存区
$ git checkout -b dev
Switched to a new branch 'dev'
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev //创建dev分支
$ git branch -r //查看分支
$ git checkout dev //切换到dev分支
$ git checkout -- index.html //丢弃工作区的修改:也就是从暂存区中取回加“--”呢,这个是为了告诉Git,这是一个文件而不是一个分支
$ git checkout . //放弃目录下所有修改
$ git log –n 1 –-stat // 最近一次提交所有更改过的文件
$ git log –n 1 –p // 最近一次提交所有更改细节
$ git pull –-rebase //
$ git commit –-amend //修补提交
$ git fetch –a
$ git reset –-hard origin/master //与远程代码一致
$ git fetch
$ git branch -a
$ git config --global http.proxy //查看git代理
$ git config --global --unset http.proxy //取消代理
$ git remote show/get-url origin //查看远程地址
$ git remote set-url origin //设置远程地址
$ git clean –f //删除untracked的文件
(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash
$ git cherry-pick:提交第一次的代码到另外一个test分支,先切换到test分支,然后git cherry-pick xxxxxid
• git cherry-pick –abort 撤销cherry-pick
• git log 查看commit 最近提交(xxxxxxid)
• git show xxxxxid 查看修改的内容
git 强制和远程仓库代码一致
git fetch --all
git reset --hard origin/xxx
//xxx替换为要拉取的远程分支名称
git pull
git 新建 初始化
git init
git remote add origin http://xxx.git
git fetch origin develop
git checkout develop
git pull
git 如何恢复到指定版本
1. 查看git的提交版本和id 拿到需要恢复的版本号
命令:git log
2. 恢复到指定版本
命令:git reset --hard xxxid //后面这一大串就是版本id
3. 强制push
命令:git push -f origin master