git常用命令及操作小结
文章目录
git是一款分布式版本控制工具,起初是为了管理Linux内核的协同开发,现在已经是世界上最广泛应用的一种协同开发工具。
一、git分区基本概念
在使用git前需要先理解一些git分区基础的概念:
1、工作区(Working Directory
):即当前手头上可见的代码
2、暂存区 (Stage 或 Index
):数据暂时存放的地方(add更新的代码存储在这里)
3、版本库 (Commit History
):存放已经提交的数据,在push时会被提交到git远程仓库
4、远程仓库(Remote
):远程仓库即github上托管的正式代码
二、git常用命令
基本操作
-
git init : 在当前文件夹初始化一个git仓库
-
git clone [email protected]:xxx.git:将github上的远程仓库克隆到当前目录下
-
git add -A(git add .) :添加所有变化的内容到暂存区(git add .表示提交当前目录下的改变)
-
git commit -m “message”:将暂存区的内容提交至版本库,message表示提交时的备注信息
-
git commit --amend :撤销上次的提交
-
git remote add origin [email protected]:xxx.git:在本地建立和远程仓库的连接
-
git push -u origin master/dev:初次提交时,将本地版本库提交到远程仓库的master或者dev分支
-
git pull origin master/dev : 同步远程master或dev分支信息并合并代码(等价于fetch + merge)
-
git fetch origin master/dev: 同步分支本地的信息到远程分支信息
-
git merge origin master/dev:合并已经同步的信息
-
git show:查看更改
-
git status:查看当前状态(通常用来检查工作区和暂存区的差异)
版本回退相关
-
git log :查看历史提交记录
-
git reset 版本号 :回退版本到指定的版本号的代码状况
–soft 只重置head,而不改变当前工作区的代码(默认选项,不完全回滚)
–hard 重置head和工作区(完全回滚)
分支操作相关
-
git checkout -b xx :创建xx分支并且换到xx分支
-
git checkout xx :切换到xx分支
-
git checkout :放弃当前已写的代码
-
git merge xx: 在当前分支下合并xx分支的内容
-
git pull --rebase origin master:强制拉取git仓库的代码合并
用户ssl协议及个人配置相关
-
ssh-****** -t rsa -C "[email protected]":以"[email protected]"为标识生成ssh公钥和私钥
-
ssh -vT [email protected]:测试连接远程仓库查看是否成功授权
-
git config -l :展示当前已经配置的用户信息
-
git config --global user.name [username]:设置全局用户名
-
git config --global user.email [email]:设置全局用户邮箱
-
git config --global --editt :打开用户信息配置中心
三、常规操作流程
克隆仓库并修改代码,提交代码
git clone git@github.com/xxxx.git
//添加修改的代码到暂存区
git add .
//提交暂存区的代码到版本库
git commit -m "add something"
//提交版本库代码到远程dev分支
git push -u origin dev
本地初始化仓库,并建立和远程仓库的连接
//初始化本地仓库
git init
//与远程仓库建立连接
git remote add origin git@github.com/xxxx.git
ssh证书配置
//生成ssh证书公钥和私钥
ssh-****** -t rsa -C "邮箱"
//查看公钥
cat ~/.ssh/id_rsa.pub
//检查是否可以连接
ssh -vT git@github.com
分支操作
//新建分支并立即切换到该分支
git checkout -b newBranch
//切换分支
git checkout branch
//删除本地分支d表示安全删除,D表示强制删除
git branch -d/D deletedBranch
分支合并
//新建feature分支
git branch -b feature
//修改代码,add,commit
git ,,,
//拉取远程dev仓库的最新代码
git pull origin dev
//手动解决冲突,再次add,commit
git ...
//切换到本地dev分支
git checkout dev
//将feature分支的修改合并到本地dev分支
git merge dev
//add ,commit并且push到远程dev分支
git add .
git commit -m "xx"
git push -u origin dev