git常用命令及操作小结

git是一款分布式版本控制工具,起初是为了管理Linux内核的协同开发,现在已经是世界上最广泛应用的一种协同开发工具。


一、git分区基本概念

在使用git前需要先理解一些git分区基础的概念:

1、工作区Working Directory):即当前手头上可见的代码

2、暂存区Stage 或 Index):数据暂时存放的地方(add更新的代码存储在这里)

3、版本库 (Commit History):存放已经提交的数据,在push时会被提交到git远程仓库

4、远程仓库(Remote ):远程仓库即github上托管的正式代码

​​​​git常用命令及操作小结

二、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