初学git,记录一下在项目开发过程中版本控制遇到的问题,以及该如何使用git来解决。
对于git不是很熟悉的同学,可以先看下这个链接,讲解的很详细。
https://git-scm.com/book/zh/v2
直接进入主题:
问题一:如何创建本地仓库?
答:在现有的目录中执行以下命令
//初始化仓库,执行过此命令之后,会在当前目录出现一个.隐藏的git目录
git init
//将目录中的文件结构添加到暂存区,处于暂存区文件的状态是已暂存未提交状态
git add .
//将暂存区中的内存提交到本地仓库,-m 参数表示提交时候需要填写的内容。
git commit -m "first commit"
问题二:如何撤销上一次的提交
答:执行以下命令
方法一:
//此命令可以撤销最近一次的提交,并保存工作区修改的内容。
git reset --soft HEAD~1
方法二:
//此命令会撤销最近一次的提交,并将工作区修改的内容恢复到未修改前的状态,此命令慎重使用,笔者就在此命令上踩了一个大雷子。
git reset --hard HEAD~1
问题三:如何生成patch?
答:
//查看已追踪的文件都做了哪些修改
git diff 文件名称
例如: git diff test.txt
//将已修改的文件内容生成patch,
git diff 文件名称 > first.patch
//此命令会将test.txt文件已修改的内容输出到first.patch文件中,如果first.patch文件不存在的话会首先创建该文件
例如:git diff test.txt > first.patch
//生成最近1次commit的patch
git format-patch HEAD^
//生成最近2次commit的patch
git format-patch HEAD^^
//生成最近3次commit的patch
git format-patch HEAD^^^
//生成最近4次commit的patch
git format-patch HEAD^^^^
//生成两个commit间的修改的patch(包含两个commit. <r1>和<r2>都是具体的
git format-patch <r1>..<r2>
问题四:如何更换远程仓库地址?
答:
//查看当前仓库地址
git remote -v
//将本地仓库名称"origin"更改为 “old-origin”
git remote rename origin old-origin
//添加新的远程仓库地址
git remote add origin git@192.168.0.99:wangbl/project.git
问题五:如何恢复已修改的内容?
答:
git restore 文件名
例如:git restore test.txt