Git命令

1.创建版本库

  • 打开到要创建git版本库的目录,运行以下命令
  • git init
    Git命令

2.文件新建+状态查看+新增+提交+新增文件内容

  • 新建文件:touch
  • 状态查看:git status (在本地工作区:文件名为红色;在git暂存区:文件名为绿色;在git分支上:)
  • 新增:git add 把文件纳入Git管理,实际是把本地文件修改添加到暂存区
  • 提交:git commit -m “file commit” 把暂存区的所有内容提交到当前分支(创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以commit就是往master分支上提交更改)(可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。一旦提交完后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的。即:nothing to commit (working directory clean))
  • 新增文件内容:vi 与linux命令一样

3.日志+版本号+对比不同

  • 查看日志:git log
  • 查看日志(一行显示):git log --pretty=oneline
  • 查看版本的具体操作(包括版本回退等记录):git reflog
  • 查看内容:cat
  • 查看暂存区与本地库的版本差别:git diff

4. 版本回退+版本穿梭+版本撤销

  • 版本退回一步:git reset --hard HEAD^
  • 版本退回两步:git reset --hard HEAD^^
  • 版本退回n步:git reset --hard HEAD~n
  • 退回到具体某个版本:先查看版本的id号:git reflog 退回到具体版本:git reset --hard <版本的7位id号>
  • 新建过未add撤销: git checkout –
  • 撤销已add未commit:先git reset HEAD 再 git checkout –
  • 撤销已add已commit: git reset –hard HEAD^

5. 删除文件,删完提交

  • 删除b.txt文件:git rm -f b.txt (此时git status查看,b.txt在暂存区还有(绿色))
  • 确认删除b.txt文件:git commit -m “delete b.txt”
  • 从暂存区恢复b.txt文件:先执行命令:git restore --staged b.txt 再执行命令:git restore b.txt

7. 分支(查看+新建+切换+合并(分支名)+删除)

  • 查看分支:git branch
  • 新建dev分支:git branch dev
  • 切换到dev分支:git checkout dev
    切换到dev分支时,会将自己的文件自动拷贝到dev分支;如果切换到主分支master,则不会拷贝自己的文件到主分支。
  • 新建test分支同时切换到test分支:git checkout -b test
  • 合并(目前在master主分支,要合并dev分支):git merge dev
  • 删除dev分支(自己要切换到主分支才能删):git branch -d dev

8. 版本冲突

版本冲突分为:内容冲突、逻辑冲突、树冲突
遇到版本冲突解决步骤:
  • 查看:cat b.txt
  • 编辑:vi b.txt
  • git add b.txt
  • git commit -m “conflict merge”

5. 理解工作区+版本库+暂存区

  • 工作区(Working Directory):就是你电脑本地硬盘目录
  • 版本库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
  • 暂存区(stage):一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
    Git命令
  • Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD