git 常用的一些命令

5 篇文章 0 订阅

基础

1、在gitee新建项目 【在gitee中新建一个项目后,默认有一个分支,即主分支】

在这里插入图片描述

2、克隆项目

在这里插入图片描述

# 创建一个新的本地存储库
$ git init [项目名称]

# 克隆存储库
$ git clone <git仓库url地址>

# 将存储库克隆到指定目录
$ git clone <git仓库url地址> <我的文件夹>

3、配置

在这里插入图片描述

设置将附加到您的提交(commit)和标签(tags)的名称

$ git config --global user.name “name”

设置将附加到您的提交(commit)和标签(tags)的电子邮件地址

$ git config --global user.email “email”

查看仓库配置【必须要进入到具体的目录下】

$ git config --local -l

查看用户配置

$ git config --global -l

查看系统配置

$ git config --system -l

查看所有的配置信息,【系统、用户、仓库】

$ git config -l

4、提交

在这里插入图片描述

# 暂存文件,准备提交
$ git add [file]

# 暂存所有更改的文件,准备提交
$ git add .

# 将所有暂存文件提交到版本化历史记录
$ git commit -m "commit message"

# 推送
$ git push

分支

主分支

在实际工作中,主分支要求是稳定、安全的,一般不允许在主分支上直接进行开发,而是拉取一个新的分支,开发、测试完成后,再将分支合并到主分支上

# 列出所有本地分支
$ git branch

# 列出所有分支,本地和远程
$ git branch -av

# 删除远程分支
$ git push origin :branchName   

# 删除远程分支b1
git push origin --delete b1 

# 删除本地test分支,强制删除用-D      
git branch -d test

新建功能分支 并提交新开发的功能

# 切换到 master,并更新工作目录
$ git checkout master

# 创建并切换到一个名为 feature/f1 的新功能分支
$ git checkout -b feature/f1

在这里插入图片描述

在这里插入图片描述

合并到主分支

当功能分支开发完成后,需要合并到主分支,合并有两种选择,快速合并和非快速合并,二者的区别在于是否创建提交节点,命令如下:

快速合并

如果当前的分支和另一个分支没有内容上的差异,就是说当前分支的每一个提交(commit)都已经存在另一个分支里了,git 就会执行一个 ‘快速向前’ (fast forward)操作;git 不创建任何新的提交(commit),只是将当前分支指向合并进来的分支

$ git merge feature/f1 # 快速合并

非快速合并

非快进式合并会生成新的提交,并 ‘分叉’

$ git merge --no-ff -m 'merge feature/f2' feature/f2

区别

快速合并会直接将 master 指向了 feature/a,如下所示:

m1---m2---f1---f2---  master/feature

非快速合并会在 master 创建合并提交节点,如下所示:

      f1---f2---  feature
      /
m1---m2----------  master

bug分支

当发现代码有bug时,需要及时修复,此时可以基于主分支新建bug分支,如下:

$ git checkout -b bugfix/b1

当改完了所有 bug 验证一下没问题后,此时将bug分支合并到主分支,如下:

// 切换到 master
$ git checkout master 
$ git merge --no-ff bugfix/b1

当主分支更新最新代码后,下边的公共分支需要及时同步最新的变更,此时可以使用变基进行同步(建议使用变基)如下:

// 切到 feature/f1 功能分支
$ git checkout feature/f1
$ git rebase master

变基原理
首先找到基底分支和当前分支的最近共同祖先,然后比对当前分支相对于共同祖先的历次提交,提取相应的修改保存为临时文件。接着将当前分支指向基底分支。最后将之前保存为临时文件的修改依序应用。

作用
变基的作用就是整合两个分支。和merge合并比较起来,rebase变基可以让提交历史更加整洁。

标签tag

当项目开发到一定阶段时,或者要发布新版本时,都要给程序打个标签

// 假设当前版本1.0.1
git tag v1.0.2         
git push origin --tags              # 一次性推送所有分支 
git push origin v1.2               # 推送单个tag到orgin源上 

git tag        # 列出现有标签     
git checkout tagname   # 切换到标签       
git tag -d v1.0.1 # 删除标签   
git push origin :refs/tags/v1.0.1 # 删除远程标签   
git pull --all # 获取远程所有内容包括tag  
git --git-dir='<绝对地址>/.git' describe --tags HEAD # 查看本地版本信息  

日志

git log # 查看最近的提交日志   
git reflog   # 查看所有分支的所有操作记录   
git log --since=1.day # 一天内的提交;可以给出各种时间格式,比如说具体的某一天(“2008-01-15”),或者是多久以前(“2 years 1 day 3 minutes ago”)

最后

本文介绍了在工作中常用的一些的Git命令,加深记忆。如果对本文有任何疑问,欢迎留言指正

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值