sudo agt-get install git 安装git
mkdir mygitdemo创建mygitdemo文件
cd mygitdemo进入文件夹
ls -a 能看见 . … .git
vim code.txt
git add code.txt 添加半步
git commit -m “my first add” 成功添加
git log
git reset --hard HEAD^ 一个^上一版本 两个^上两个版本
git reset --hard HEAD~1 上一个版本 ~100 上100个版本
用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^,当然往上100个版本写100个
^比较容易数不过来,所以写成HEAD~100。
git reflog所有的记录
git checkout --code.txt撤销工作区的代码
git checkout -b bug01会创建一个新的bug01分支,并跳转到bug01
如果是 git checkout bug01只是会跳转到bug01,不会创建新的分支。已经存在的不能加-b
禅道 项目管理
git stash
git stash pop
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节。Git reset –hard 版本号
git push origin
上面命令表示,将当前分支推送到origin主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名都可以省略。
$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。
git branch -avv查看所有的版本修改的详细信息