一篇文章带你掌握Git常用命令

一、Git的工作原理

1、git的工作区:在当前仓库中,新增,更改,删除文件这些动作,都发生在工作区里面。

2、git的暂存区:英文叫stage, 或index。在版本库.git目录下,有一个index文件。它实际上就是一个包含文件索引的目录树,像是一个虚拟的工作区。在这个虚拟工作区的目录树中,记录了文件名、文件的状态信息(时间戳、文件长度等),文件的内容并不存储其中,而是保存在Git对象库(.git/objects)中,文件索引建立了文件和对象库中对象实体之间的对应。如果当前仓库,有文件更新,并且使用git add 命令,那么这些更新就会出现在暂存区中。

3、版本库:当前仓库下,如果没有任何的提交,那么版本库就是对应上次提交后的内容。

工作区、暂存区、版本库之间的关系


git add  从工作区添加到暂存区

git commit -m ""  从暂存区提交到版本库

git diff    比较工作区和暂存区的区别
 
git diff --cached    比较的是暂存区和版本库的差别

git diff HEAD    可以查看工作区和版本库的差别

二、Git创建项目提交到远程仓库

参考文档:https://www.cnblogs.com/ejar/p/16069815.html

前提:远程仓库已经创建

  1. 配置仓库 用户名称、邮箱地址


#配置用户名称
git config --global user.name "helloxujingliang"

#配置用户邮箱地址
git config --global user.email "3225043@qq.com"

#查看配置是否成功
git config -l
  1. 创建本地git库


git init
  1. 工作区文件添加到暂存区


git add .
  1. 暂存区文件提交到版本库


git commit -m "提交备注"
  1. 版本库关联到远程库


git remote add origin https://github.com/zhangsan/project.git
  1. 拉取远程库文件到本地版本库


git pull --rebase origin main
  1. 提交本地版本库文件到远程库


git push -u origin main

三、Git工作区、暂存区、版本区代码比较

1.工作区和暂存区比较


git diff

2.暂存区和版本区比较


git diff --cached

3.工作区和版本去比较


git diff HEAD

Git查看文件的历史记录|极客教程

四、Git创建使用分支

参考文档:GIT分支常用命令 - 你我博客

  1. 查看当前本地库分支


git branch
  1. 创建分支


# 创建本地仓库分支
git branch branchName

# 切换到本地新创建的仓库
git checkout branchName

# 新建远程仓库
git push --set-upstream origin branchName
  1. 切换分支


git checkout branchName
  1. 创建并切换分支


git checkout -b branchName
  1. 合并分支


git merge branchName
  1. 删除本地仓库分支


git branch -d branchName

#强制删除本地仓库分支

git branch -D branchName
  1. 查看远程仓库分支


git branch -r
  1. 查看本地版本库和远程仓库所有分支


git branch -a
  1. 删除远程分支


git push origin --delete branchName

#或者简写

git push origin -d branchName
  1. 推送空分支到远程仓库


git push origin :branchName
  1. 分支合并

# 如果将main分支合并到master分支

# 1. 切换到master分支
git checkout master

# 2. 合并到master分支
git merge main

# 3. 解决完冲突之后,提交修改
git push

拉取远程指定分支的代码三种方式(Git三种方法从远程仓库拉取指定的某一个分支-蒲公英云

# 拉取远程默认分支的代码
git clone http://......

# 拉取远程指定分支代码到本地
git clone -b [brancName] http://.......

五、Git删除文件

常规的做法就是通过2条命令进行删除,先使用rm删除文件,再用git rm把删除的添加到暂存区,过程如下:

  1. Git使用Linux命令,先删除本地文件


rm -rf filename.text
  1. Git删除文件


git rm filename.text
  1. Git添加到暂缓区、上传到版本库、拉取远程代码、提交本地版本库


git add .

git commit -m "删除了filename文件'

git pull --rebase origin main

git push -u origin main

六、忽略指定文件

在git项目根目录下创建 .gitignore文件,在文件中添加需要忽略的文件


#忽略node_modules目录下的所有文件
node_modules

#忽略miniprogram_npm目录下的所有文件
miniprogram_npm

七、提交空目录

git只关注文件变化,所有空目录是不会被提交的


#在每个空目录中创建gitkeep文件 
find -d -empty -exec touch {}/.gitkeep \

#然后提交
git add .
git commit -m "gitkeep commit"
git pull --rebase origin master
git push -u origin master

八、版本追溯


git reset --hard commitVersionCode

九、免密推送

十、常用命令


git status  查看当前状态

git log  查看提交日志

git merge dev  合并dev分支至当前分支

git add .      添加当前目录全部文件至暂存区

git commit -m '测试'     提交,提交信息为测试

git push origin master  推送至远端分支(master为需要推送分支,按实际需要选择)

git pull origin master  合并远端分支至本地 (git pull 等于 git fetch + git merge)

git pull --rebase origin master rebase方式合并远端分支至本地

git branch 查看当前分支

git branch dev 创建dev分支  (dev可选)

git branch -d dev 删除dev分支

git branch -r 查看远程分支

git branch -a 查看所有分支 (包括远程分支)

git checkout master 切换至master分支

git checkout -b dev 创建dev分支并切换至dev分支

git checkout -b dev origin/dev 创建远程分支到本地

git restore file 丢弃工作区修改(file为具体文件名称)

git restore * 丢弃所有工作区修改

git restore --staged file  回退暂存区文件 不会更改文件内容

git rebase --continue   rebase后继续操作

git rebase --abort 退出rebase 操作
  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进阶的疯狗der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值