学习廖雪峰的git教程

地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

1.git add:添加文件  把文件放入暂存区
2.git init:给项目添加初始git,初始化git
3.git clone xxx.src:把项目从远程克隆到本地
4.git commit -m ‘’:把修改的文件提交上去 把暂存区的东西提交
5.git remote add origin xxx.src:克隆出新的仓库
要你想删除这个仓库 另外建一个新的 那么 
git remote rm origin
那么你就可以开始又新建一个origin仓库 
6.git push -u origin master :push上去仓库
7.pwd:用于显示目录
8..git文件默认隐藏的,用ls-ah就可以看见
9.新建文件夹:mkdir fileName
10.新建文件:touch fileName
11. :q退出当前编辑器
12. vi test.txt 打开面板的编辑器
     按键esc退出编辑
     :q退出该编辑器
     :q!强制退出
     :wq保存并退出
     :i在当前位置插入东西
13.git status:让我们时刻掌握仓库当前的状态
14:git diff:顾名思义就是查看difference
     git diff test.txt
15.cat test.txt
     从第一行开始显示文件内容
16.git log 提交的历史记录
     git log —pretty=oneline:把历史记录放到同一行中
17.git reset:回退版本
     git reset —hard HEAD^回退到上一版本
     git reset —hard HEAD^^回退到上两个版本
     git reset —hard HEAD~100回退 一百个版本
18.因为现在已经回退了,那然后想要回到最新的那个版本怎么办呢
     git reset —hard commit id
这个commit id需要说一下 
git log:
e0bafd1c12f17727ea59c1d50c7052b772126f34 append GPL
6c299de33b21540a6acf9d4cd15184f23e8b1e01 add distribute
b11b7579a513eaa918f687ffa722f9f564d78140 learn git
 
e0bafd:就是append GPL版本的commmit id
19.git checkout —- test.txt可以丢弃上一次对test.txt的修改
这个是在工作区 也就是在本机做了修改,但是还没有git add加入到缓存区的解决方法
20.要是此时你已经把不想修改的git add 了 放入缓存区了
那么你就要把缓存区的修改撤销掉,重新回到工作区
git reset HEAD test.txt
现在缓存区是干净了
然后再利用19的那个方法
git checkout —- test.txt就清除工作区了
21:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

 
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
22.git checkout -b dev
     -b:创建并切换
23.git branch:查看当前分支
     *号后面是当前分支
24.git checkout master切换到master分支
25.git merge dev:把dev分支的工作成果合并到master
26.git branch -d dev:删除dev分支
27.编辑器 a在后面位置追加
28.分支管理
     git checkout -b dev
     vi test1.txt   ===>add a modify
     git add tsetse.txt
     git commit -m ‘modify'
     git checkout master
     git merge —no-ff -m ‘modify’ dev
     push -u origin master
完美解决 把dev合并到master了
29.git push origin <tagname>可以推送一个本地标签
     git push origin —tag:推动全部本地便签
     命令git tag -d <tagname>可以删除一个本地标签;
     命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
30.配置别名:git status
     git config —global alias.st status
     这样的话 git st就可以得到git status一样的效果
 
     
原文地址:https://www.cnblogs.com/lwwen/p/6215236.html