一、常见的形式

二、本地仓库常用命令

2.1 提交版本

git add 文件名 #工作区 => 暂存区git commit -m "提交说明信息"#暂存区 => 版本区

2.2 版本回退

git reset --mixed 版本号#版本区 => 暂存区git reset --soft版本号#暂存区 => 工作区#直接回退版本到工作区git reset --hard版本号#版本区 => 暂存区 => 工作区

2.3 状态和日志

git log#显示提交历史记录,包括每个提交的作者、日期和提交信息。git reflog #操作记录git status #查看当前工作目录和暂存区的状态。它会显示有关文件的更改和未跟踪文件的信息git diff #查看文件的改动内容,包括与上一次提交的差异

2.4 针对仓库命令

2.4.1 初始化/创建仓库

git init git init [project-name]# 新建一个目录,将其初始化为Git代码库

2.4.2 克隆远程仓库

git clone仓库ssh/http地址本地路径#将远程仓库的内容克隆到本地git clone -b分支名仓库地址 #克隆分支

2.4.3 拉取和推送

git fetch和git pull都可以更新本地库。

git fetch origin 本地库并没有变化,git fetch只会将本地库所关联的远程库的commit id更新至最新,HEAD没有变化很容易理解,因为本地库并没有变化。

git pull origin master:master

本地库更新至最新,git pull会将本地库更新至远程库的最新状态,由于本地库进行了更新,HEAD也会相应的指向最新的commit id,所以虽然从结果上来看,git pull = git fetch + git merge,但是从文件中保存的commit id来看,实现上不是这样实现的。

#gitpull远程库地址别名远程分支名:将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并git pullorigin master# 拉取远程仓库别名 origin ,本地仓库分支 mastergit fetch origin#gitpush别名分支:推送本地分支上的内容到远程仓库git push origin master# 推送远程仓库别名 origin ,本地仓库分支 master
gitremote-v#查看别名gitremoteadd别名 git远程库的详细地址 #增加远程库别名# 如git remote add git-demo https://github.com/testeryueyue/git-demo.gitgitpush别名master#利用别名,推送本地库文件到远程库

2.5 针对分支命令

#查gitbranch #列出所有分支git branch -a #列出所有本地分支和远程分支#增git branch [branch-name] #创建分支#切git checkout -b [branch] #切换分支git checkout [branch-name] #切换到指定分支,并更新工作区#合git merge [branch]#合并指定分支到当前分支#删git branch -d [branch-name] #删除本地分支git push origin --delete [branch-name]# 删除远程分支git branch -dr [remote/branch]# 删除远程分支

2.6 标签

git tag#列出所有taggit show [tag]#查看tag信息git tag [tag] #新建一个tag在当前commitgit tag [tag] [commit] # 新建一个tag在指定commitgit tag -d [tag] #删除本地taggit push origin :refs/tags/[tagName]#删除远程taggit push [remote] [tag]#提交指定taggit push [remote] --tags # 提交所有taggit checkout -b [branch] [tag]#新建一个分支,指向某个tag

三、git无法推送问题

但是在执行gitpush的时候又遇到问题了,总提示remote:error:refusingtoupdatecheckedoutbranch:refs/heads/master拒绝更新后来又经一番搜索,得知,git默认拒绝push操作,我们需要修改配置,需要git的config配置,增加如下配置:[receive]denyCurrentBranch=ignore于是乎,问题解决,可以正常使用git了。