git的操作流
创建工程->写代码->上传代码到仓库->修改代码->上传代码
测试新想法->创建分支
出现问题->回滚
初始化新仓库并创建账户
git init
git config --global user.name "elf"
git config --global user.name "elf@elf.com"
执行init命令后会在当前目录下创建.git
文件夹。首次使用会提示输用户名和用户邮箱
版本修改
暂存区修改
git add 文件名
git rm 文件名
提交
git commit -m “版本名”
回退
git reset
git reset --hard [版本名] //--hard:撤销所有未提交的修改
清除未提交的修改
git checkout [文件名] //未提交到暂存区
git reset HEAD -- [文件名] //撤回提交到暂存区的文件
分支操作
分支查看
git branch //*为当前所在分支
分支创建
git checkout -b 分支名
分支切换
git checkout 分支名
分支删除
git checkout -d 分支名
分支重命名
git checkout -m 原分支名 新分支名
patch操作
patch记录了两次commit之间对文件进行的修改
patch生成
git format-patch HEAD^ //生成最近1次commit的patch
git format-patch HEAD^^^^ //生成最近4次commit的patch
git format-patch -1 <r1> //生成<r1>这个 commit 的 patch
git format-patch <r1> //生成<r1>这个commit以后的修改patch,不包含该 commit
git format-patch --root <r1> //生成从根到r1所有patch
patch检查
git apply --stat xxx.patch //查看patch情况
git apple --check xxx.patch //检查patch是否能打入,若能,不输出任何信息
patch打入
git am XXX.patch //打入patch
git am --signoff XXX.patch //打入patch并添加署名
git am -s XXX.patch //同上
git am ~/patch-set/*.patch //将patch-set路径内所有patch按先后顺序打入
文件对比
git diff //同分支下工作区和暂存区对比
git diff 分支1 分支2 //两个分支文件对比
git diff 分支1 分支2 文件路径
状态检查
查看工作区状态
git status
查看提交日志
git log
查看分支
git branch
检查某次提交
git show //检查最近一次提交修改的内容
git show [版本名] [文件名]