常用操作指令命令作用git add [file] 或 .将file或所有文件的改动从工作区添加到暂存区git commit -m ‘提交说明’将改动从暂存区提交到本地仓库git pull拉去远程仓库的改动至工作区先 git fetch 然后 git merge先拉去远程仓库改动然后合并到工作区相当于git pullgit push origin master将改动推送到远程仓库一般也可以用git pushgit配置操作命令git的配置文件为.gitconfig它可以在用户主目录下全局配置也可以在项目目录下项目配置。命令作用git config --list列出当前配置git config --locajl --list列出repository的配置git config --global --list列出全局配置gti config --system --list列出系统配置git config --global user.name ‘your username’配置用户名git config --global user.email “your email”配置用户邮箱git config --global user.password “your password”配置用户密码git config --global color.ui auto配置git命令输出为彩色的git config --global core.editor vi配置git使用的文本编译器git config --global merge.tool vimdiff配置解决冲突时使用哪种差异化分析工具工作区的操作命令命令作用git add [file] [file] …提交工作区中指定文件到暂存区git add [dir]提交工作区中指定文件夹中的所有文件包括子目录到暂存区git add -a提交所有文件到暂存区git branch查看本地分支git branch -a查看所有分支git branch [branchname]创建分支git checkout [branchname]切换分支git checkout -b [branchname]创建并切换分支git clone [url]下载一个项目和它的整个代码历史git clone [url] [project-name]下载一个项目和它的整个代码历史并将该项目重命名git commit -m ‘提交说明’将暂存区改动提交到本地仓库git checkout – [file]当改乱了工作区某个文件的内容而且尚未进行add命令想直接丢弃工作区的修改时使用此命令git diff查看工作区和暂存区的区别git diff --cached查看暂存区和版本库你的分支的区别git diff HEAD – [file]查看工作区和最新版本库的区别git init在当前目录下新建一个git仓库git init [project-name]新建一个目录并将它初始化为git仓库git log查看提交日志git log --prettyoneline简化日志输出信息git merge [branchname]合并某分支到当前分支git reset HEAD 或 [file]…取消暂存区上次add的文件返回当前版本HEAD表示当前版本 或 某个文件git reset --mixed HEAD^返回是一个版本push前的状态git reset --hard HEAD^ 或 commit_id版本回退回退到上一个版本(HEAD^^往上2个版本HEAD~100往上100个版本)commit_id可回退到commit_id对应的版本git rm [file] [file]…删除工作区文件并且从暂存区中删除对应的文件记录git rm --cached [file]从暂存区中删除该文件但是工作区中依然还有该文件git reflog查看命令历史git status分支当前的工作区和暂存区状态操作说明一、初始化git仓库gitinit在项目目录下执行git init即可创建一个空的git仓库。创建成功后会打印以下提示Initialized empty Git repositoryin创建仓库的地址/.git/即在该目录下多了一个.git文件。二、修改提交git addREADME.MD//添加README.MD文件到暂存区git add-a//添加所有文件到暂存区git commit-m添加一个文件//将文件提交到本地仓库单引号里面写的是对本次提交的声明git push//提交修改到远程仓库git fetch//git pull// 获取远程代码并合并本地的版本三、分支查看分支gitbranch //查看本地分支情况gitbranch-r// 查看远程分支情况gitbranch-a//查看全部分支创建分支gitcheckout-b[branchName]//在当前分支上创建新分支并切换换新创建的分支合并分支gitmerge[branchName]//将【branchName】合并到当前分支tipgit才用Fast forward模式进行合并这种合并模式在删除分支后会丢失部分信息因此可以采用以下语句进行合并gitmerge[branchName]--no-ff 或gitmerge --no-ff-m提交内容描述[branchName]tip–no-ff 参数是用来禁用Fast forward 模式的-m参数是执行合并后直接提交删除分支gitbranch-d[branchName]// 删除本地分支gitpush origin--delete[branchName]//删除远程分支五、版本回退gitreset HEAD^ // 回退到上一个版本add之前的状态gitreset--mixedHEAD^ // 是上面命令的全写执行结果相同gitreset--hardHEAD^ // 回退完全到上一个版本的状态gitreset--softHEAD^ // 回退上一个版本commit之前的状态 //回退后需要强推一下分支完成全程更改gitpush--force//将当前修改强推至远端六、标签管理查看标签gittag // 查看所有标签gitshow v0.1 //查看v0.1标签的详细内容打标签gittag v1.0 // 在最新的提交后面打上v1.0的标签gittag-av0.1-m标签说明版本0.1发布“6972298//对指定的commit打标签假设指定的commit id为6972298其中-a是添加标签-m是给标签添加说明gitpush origin v0.1 //将标签同步到远程仓库删除标签gittag-dv0.1 //删除本地标签v0.1gitpush origin :refs/tags/v0.1 //删除远程标签切换仓库SSH 路径查看当前绑定的远程地址gitremote-v修改远程 SSH 地址gitremote set-url origin git新地址:用户名/仓库名.git