git笔记

记录备用

知识:

分布式版本控制系统。
工作区、暂存区(add)、版本库。
对修改而不是对文件(add的是一次修改)。
分支的操作是指针的操作。
主分支上创建的新分支进行修改提交,而主分支也进行了修改提交就可能产生冲突。
部分分支需要推送到远程如master、dev,而有的不需要如bug。

命令:

git add -A                     // 添加所有改动
git add *                      // 添加新建文件和修改,但是不包括删除
git add .                      // 添加新建文件和修改,但是不包括删除
git add -u                     // 添加修改和删除,但是不包括新建文件
git log                        //版本记录
git reflog                     //命令记录
git reset --hard HEAD^         //回退上一版本
git reset --hard HEAD^^        //回退上上版本
git reset --hard HEAD~100      //回退往上100个版本
git reset --hard <commit id>   //回退到某个提交版本(版本号不必写全)
git checkout -- <file>         //丢弃修改(未add、未git rm)
git reset HEAD <file>          //撤销暂存区的修改(已add)
git rm                         //版本库中删除文件

git remote add origin <远程库> //添加远程库
git push -u origin master      // 把当前分支master推送到远程,-u第一次推送把本地的master分支和远程的master关联起来
git push origin master      
git clone <远程库>             //克隆远程库

git branch                     //查看分支
git branch <name>              //创建分支
git checkout <name>            //切换分支
git checkout -b <name>         //创建并切换分支
git merge <name>               //合并某分支到当前分支
git branch -d <name>           //删除分支

git log --graph                //查看分支合并图

git merge <name> --no-ff       //合并分支no fast forward,产生一个新的commit而不是改变指针(commit id 和需要合并的分支一样)

git stash                      //把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list                 //查看stash
git stash apply                //恢复stash
git stash apply stash@{0}      //恢复指定stash
git stash drop                 //删除stash
git stash pop                  //恢复并删除stash

git remote                     //查看远程库
git remote -v                  //显示更详细的信息
0%