Git的使用

Git仓库主要分为工作区、暂存区、版本库

  • 工作区 ------> 你自己新建的文件夹
  • 暂存区 ------> 执行add但没执行commit时文件存放位置
  • 版本库 ------> .git文件夹

如图所示

一、使用前配置

安装后之后配置用户名和Email地址自报家门

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

--global表示你这台电脑上所有的Git仓库都会使用这个配置,你也可以为不同的仓库指定不同的用户名和Email地址

二、本地

1.基础操作

git init                             //初始化仓库

git add file1.txt file2.txt          //将修改后的file1.txt和file2.txt添加到暂存区
git add .                            //添加所有文件到暂存区

git commit -m "提交信息"             //提交版本库

git rm file.txt                     //删除工作区+暂存区的文件,再使用git commit将会删除版本库中文件
git rm --cached file.txt            //仅删除暂存区

git status                          //查看状态

git log                            //显示从近到远的提交日志

git reflog                         //显示执行命令历史

git diff HEAD -- file.txt          //比较工作区中file.txt文件和版本库中最新版本区别

git checkout -- file.txt          //丢弃工作区的修改,回到最近一次`commit`或`add`时的状态

Git命令必须在Git仓库目录内执行(git init除外),在仓库目录外执行是没有意义的

解释下git log命令

$ git log
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
Author: Your Name <[email protected]>
Date:   Fri May 18 21:06:15 2020 +0800

    xxxxxxxx

如果觉得输出信息太多,可以试试在git log后加上--pretty=oneline参数

commit后面跟着一串数字和字符是commit idHEAD指的是当前版本,上一个版本就是HEAD ^,上上个版本是HEAD^^,往上50个版本可以写成HEAD~50

2.版本回退

  • add但没commit

    git reset HEAD file.txt

这将会把暂存区的修改回退到工作区

  • 已经commit

    git reset --hard HEAD^  //回到上一个版本
    git reset --hard 1094a  //回到指定版本

commit id 没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了

如果回退后反悔了,你可以通过指定版本号的方式回到回退前的版本,不记得版本号可通过git reflog命令查看你的每一次命令(如果你之前并没有执行过git log命令,那你想反悔也许版本号天知道)

3.分支管理

git checkout -b dev            //创建并切换到dev分支
git switch -c dev              //创建并切换到dev分支

git branch dev                 //创建分支

git checkout dev               //切换分支,避免混淆 git checkout file.txt 命令
git switch dev                  //切换分支

git branch                     //查看所有分支

git merge dev                  //将dev分支合并到当前分支

git branch -d dev              //删除分支

当Git无法自动合并分支时,就必须首先解决冲突b解决冲突后,再提交,合并完成。

解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

git log --graph命令可以看到分支合并图。

三、远程仓库

第一次使用Github时需要通过SSH密钥连接自己的Github账户,具体操作方法见 官方文档

 git clone [email protected]:xxx/gitskills.git                  //将远程仓库内容克隆到本地仓库
 
 git remote add origin [email protected]:xxxxxx/learngit.git    //将本地仓库和远程仓库关联
 
 git push -u origin master      //第一次推送使用,之后推送不用加-u,即下面那条
 git push origin master         //将本地commit后的文件提交到远程仓库
 
 git pull origin master:test    //将远程主机origin的master分支拉取过来,与本地test分支合并
 git pull origin master         //将远程主机origin的master分支拉取过来,与本地当前分支合并
 
 git remote rm origin           //与远程仓库解绑
 

四、总结

本文参考于廖雪峰Git教程,如有错误欢迎在评论区批评指正。

Last modification:April 13th, 2021 at 07:04 pm
如果觉得我的文章对你有用,请我喝杯奶茶吧