git基本命令总结

---
title: git 基本命令总结

grammar_cjkRuby: true
---

[TOC]

## 配置用户名和邮箱

==git config --global user.name '自己的名字'==
==git config --global user.name '自己的邮箱'==

## 利用命令完成git基本操作
- ### 创建仓库
==git init== 在要被当仓库的文件夹下执行该命令
- ### 添加文件
==git add 文件名==
这一步的作用是将文件添加到暂存区(stage)

- ### 提交文件
==git commit -m "提交描述"==
- ### 查看日志
==git log==
功能为查看日志
==git log --pretty=oneline==
查看日志,以单行显示
==git reflog==
功能为查看历史操作记录,比如回退版本后想要重返“未来”可以查看最新的提交版本

- ### 查看git状态
==git status==

- ### 查看修改内容
==git diff 文件名==
- ### 版本回退
==git reset --hard head^==
==git reset --hard 版本号==
当知道对应的版本号时,可以用这个命令,适用于回退和前往之前的新版本

- ### 撤销操作
==git restore 文件名==
新版本git提示用该命令进行撤销
==git checkout -- 文件名==
旧版本用此命令做撤销,新版本也可以用

如果已经add进暂存区
==git restore --staged 文件名==
新版本git自动提示用该命令
==git reset head 文件名==
此为旧版本git命令,新版本也可以用

- 删除文件
==git rm -f 文件名==

## 使用分支
- ### 查看当前分支
==git branch==
- ### 创建dev分支并切换过去
==git checkout -b dev==
-b表示创建并切换,相当于一下两条命令
==git branch dev== 创建分支
==git checkout dev== 切换分支
注意:上面是老版本的命令,创建分支和撤销都用==checkout==容易分不清,因此新版本创建分支推荐用==switch==
==git switch -c dev== 创建并切换到dev
==git switch dev== 直接切换到已有的dev分支
- ### 合并分支
==git merge dev== 将dev分支合并到当前分支,合并后会丢失原来分支的信息
==git merge --no-ff -m "merge with no-ff" dev== 合并dev到当前分支,==--no-ff==表示禁用fast forwad,之后查看日志时是可以看到已被删除分支的信息
- ### 删除分支
==git branch -d dev==
==git branh -D dev== 如果dev没有被合并过用大写 -D
- ### 查看分支合并情况
==git log --graph --pretty=oneline --abbrev-commit==
- ### stash的使用(bug分支)
==git stash== 保存当前的工作现场
==git stash list== 查看所有被保存的工作
==git stash pop== 恢复并删除工作现场,等价于==git stash apply== + ==git stash drop==
开发环境在dev分支下,bug修复是提交在master中,如何快速合并至dev下:转移至dev分支下,执行下面命令==git cherry-pick bug分支的提交版本号==

## 远程仓库(Github)
- ### 远程克隆到本地
==git clone 自己的git项目地址==
- ### 关联
==git remote add origin 自己的git项目地址== 将本地仓库与远程仓库关联
- ### 拉取远程的更新
==git pull==
- ### 基本推送
==git push -u origin master==
第一次推送是要加上-u,可以把本地的master和远程的master关联起来,方便以后的推送或者拉取
==git push origin master==
之后推送可以直接用该命令
- ### 查看远程仓库信息
==git remote==
==git remote -v==此命令可显示更详细信息
- ### 多人协作
1.==git checkout -b 分支名 origin/分支名== 在本地创建和远程分支对应的分支,名称最好一致
2.==git branch --set-upstream-to=origin/dev dev== 建立本地分支和远程分支的关联
3.==git pull== 先抓取远程的更新,如果有冲突,手动解决冲突
4.==git push origin 分支名== 解决冲突后推送


## 标签
- ### 基本操作
==git tag== 查看所有标签
==git tag 标签名==把当前分支的最新提交打上标签,标签名字自己起
==git tag 标签名 对应commit版本号==把某个版本号的提交打上标签
==git tag -a v0.1 -m "描述信息" 版本号== 可以用这种方式给标签增加说明,-a对应标签名,-m对应描述信息
==git show 标签名== 查看标签具体信息
==git tag -d 标签名== 删除标签
- ### 推送标签
==git push origin 标签名==推送某个标签到远程
==git push origin --tags== 推送所有标签到远程
删除远程标签:
==git tag -d 标签名==先删除本地标签
==git push origin: refs/tags/标签名==然后从远程删除

猜你喜欢

转载自www.cnblogs.com/duibd/p/12036285.html