Git初始化

git init --->该命令用于在本地初始化一个git仓库,使用该命令后,会在当前文件夹生成一个.git的文件夹.

初始化配置

ssh-keygen -t rsa -C "youremail@example.com"---产生公私钥对
git config --global user.name "abcd"---设置全局用户名
git config --global user.email "XXXXX@XX.com"---设置全局邮箱

Git版本回退

git reset --hard ---->版本回退
首先HEAD指的是当前版本,HEAD^是上一版本,HEAD^^是上上版本
git reset --hard HEAD^
git reset --hard commit-id
git reset HEAD file把暂存区的修改撤销掉,重新放回工作区

git reflog ----->查看命令提交记录,获取commit-id

git checkout -- readme.txt可以丢弃工作区的修改
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态。
一种是readme.txt已经添加到暂存区后,又作了修改,现在撤销修改就回到添加到暂存区后的状态。
总之就是让这个文件回到最近一次git commit或git add的状态。

Git分支管理

git branch -a ----> 查看所有分支
git branch -d dev ----> 删除本地dev分支
git push origin --delete dev ----> 删除远端dev分支
git checkout -b master(本地分支名) origin/master(远端分支名) ---->切换并创建本地分支
git checkout dev ----> 切换本地dev分支
git merge dev ----> 合并dev分支到当前分支

git add命令

git add . ----> 提交工作区所有变化到暂存区,包括文件内容修改和新文件,但不包括已经删除文件。
git add -u ----> 提交已经追踪文件的修改到暂存区(即只会提交add过的文件的变化,新文件不会提交)。
git add -A ----> 提交工作区所有变化,包括以上两种,即会提交新文件,删除文件,文件内容修改到暂存区。

撤销修改

因为暂存区的存在,撤销修改分为几种情况(通过 git status 查看仓库状态时会提示相关撤销修改的命令):

1)修改后,文件没有放入暂存区(即文件一直在工作区):用 git checkout -- 文件名 撤销工作区的改动(回到跟版本库一样的状态,即回到最近一次 git commit时的状态,所有改动全部清除)
2)修改后,文件放入暂存区,且文件没有再次修改(即文件已经进入暂存区):分两步:先用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),再执行 git checkout -- 文件名 清除工作区的改动
3)修改后,文件放入暂存区,且文件再次修改:分三步:先用 git checkout -- 文件名 撤销工作区的改动,再用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),最后执行 git checkout -- 文件名 清除工作区的改动

通过 git checkout -- 文件名 命令可以撤销文件在工作区的修改。
通过 git reset 文件名 命令可以撤销指定文件的 git add 操作,即这个文件在暂存区的修改。
通过 git reset 命令可以撤销之前的所有 git add 操作,即在暂存区的修改。
———————————————— 【本段为CSDN博主「kikajack」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/kikajack/article/details/79846098】