Git常用指令

设置全局的用户名称

git config --global user.name "用户名"

设置全局的邮箱地址

git config --global user.email "邮箱地址"

查看全局配置信息

git config --list

创建本地仓库

git init

添加到暂存区

git add 文件名称
#回撤
git rm --cached 文件名称

查看文件状态

红色代表没有被git管理的文件,即使是已经管理过,但是修改后,也是红色的状态

绿色代表添加到暂存区的文件

已暂存:文件被管理到暂存区,绿色

未修改:文件还没有被管理到暂存区,红色

已提交:文件已经交给git仓库进行管理了

git status

提交到本地仓库

git commit -m "日志信息"

查看日志信息

# 查看本地日志信息
git log
# 查看本地日志信息,简介模式
git log --oneline
# 查看历史日志信息
git reflog
#查看文件内容
cat 文件名称

版本切换

git reset --hard 版本唯一标识

查看提交文件的内容

# 查看此次提交的文件列表
git ls-tree commit唯一标识

# 查看文件列表中的文件内容
git cat-file blob 文件的唯一标识

文件内容比较

# 比较的是本地仓库的工作目录的文件差异
git diff 文件名称

# 其他版本的文件比较,比较的是其他版本的本地仓库的内容和当前的文件的差异
git diff 版本标识 文件名称

文件删除


# 如果文件没有被本地仓库管理,那么可以直接删除
# 如果文件已经被本地仓库管理,那么直接删除,本地仓库中还是包含这个文件的
# 先删除文件,再添加到暂存区,然后提交到本地仓库中
rm -rf 文件名称

git add .

git commit -m "日志信息"

文件找回

通过版本切换的命令,切换到没有删除的版本当中即可,保存好你当前的代码,再去操作

git分支命令

#查看分支
git branch
#创建分支 创建的新的分支和当前分支的内容是一致的
git branch 分支名称
#切换分支
git checkout 分支名称
#切换并创建分支
git checkout -b 分支名称
#删除分支
#创建出的分支如果没有被修改,可以通过普通的方式进行删除
#创建出的分支如果被修改过,那么就必须强制删除了
# 普通删除
git branch -d 分支名称

# 强制删除
git branch -D 分支名称
# 分支合并
#将目标分支合并到当前分支中,合并的是文件夹、文件、文件内容
#这里要注意的是,如果两个分支或多个开发者修改了同一个文件,就会产生冲突的问题
git merge 目标分支名称


冲突解决

解决冲突也非常简单,删除标记 <<<<<<<<< =========== >>>>>>>>>>>>,保留代码,提交到本地仓库即可,同时也可以推送到远程仓库

git远程命令

#关联远程仓库
# 建立远程仓库的关联关系,可以建立多个
git remote add 关联名称 仓库地址

# 查询当前本地仓库关联的远程仓库关系
git remote -v

删除远程仓库关系

git remote remove 关联名称

推送本地仓库代码到远程仓库中

第一次推送代码时,会输入用户名和密码

如果密码输入错误,清理windows的git凭证,重新推送,输入用户名和密码

***注意先从远程仓库更新代码下来再进行推送


git push 关联名称 本地仓库分支名称

删除远程分支

除了远程仓库的默认分支外,其余分支都可以被删除掉

git push -d 关联名称 远程分支名称

拉取代码

拉取本地已有的分支代码,更新代码

拉取本地没有的代码,更新分支

# 将当前远程分支代码更新到本地所处分支
git pull 关联名称 远程分支名称

# 将远程仓库的分支更新下来
git pull 关联名称 远程分支名称:本地分支名称

# 如果强制的要求远程分支和本地分支进行合并需要指定参数--allow-unrelated-histories
git pull 关联名称 远程分支名称 --allow-unrelated-histories

每次代码提交前可以做此操作,可以解决冲突

#切换上一次提交工作区
git stash
#拉代码
git pull 远程连接名 分支
#恢复工作区
git stash pop
#有冲突解决冲突 ,提交代码