常用操作指令
| 命令 | 作用 |
|---|---|
| git add [file] 或 . | 将file或所有文件的改动从工作区添加到暂存区 |
| git commit -m ‘提交说明’ | 将改动从暂存区提交到本地仓库 |
| git pull | 拉去远程仓库的改动至工作区 |
| 先 git fetch, 然后 git merge | 先拉去远程仓库改动,然后合并到工作区(相当于git pull) |
| git push origin master | 将改动推送到远程仓库,一般也可以用git push |
git配置操作命令
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 --pretty=oneline | 简化日志输出信息 |
| 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】合并到当前分支tip:git才用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