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

发布时间:2023年12月20日

一、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 操作
文章来源:https://blog.csdn.net/qq_41765777/article/details/128542181
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。