Git的基本使用入门

参考:Git速查

git的基本概念

git常用命令大部分是基于三大分区来执行的。先来了解一些专有名词吧。

  • 工作区,也叫 Working Directory
  • 暂存区,也叫 stage,index
  • 版本库,也叫本地仓库,commit History

将代码推送到github仓库

参考:添加文件到仓库

  • 打开git bash,进入项目目录

  • 执行命令初始化本地仓库

    bash 复制代码
    git init
    git add .
    git commit -m "Your comment"
  • 复制你的github仓库地址<URL>

  • 关联本地与远程仓库:

    • 对于public仓库,将本地仓库与远程仓库关联起来

      bash 复制代码
      git remote add origin <URL>
    • 对于private仓库,将本地仓库与远程仓库关联起来

      persional access token请前往github的个人设置,开发者选项

      bash 复制代码
      git remote add origin https://{USERNAME}:{PERSIONAL_ACCESS_TOKEN}@github.com/username/reponame.git
      
      ## 可能还需要保存凭证依据
      git config --global credential.helper cache
      git config --global credential.helper 'cache --timeout=3600'
    • 要修改url可以:

      bash 复制代码
      git remote -v #查看
      git remote set-url origin <new_url> #修改
      git remote remove origin # 删除
  • 更改为main分支

    bash 复制代码
    git branch -M main
  • 将本地的提交推送到github仓库

    bash 复制代码
    git push -u origin main -f

分支相关

  • 查看当前分支

    bash 复制代码
    git branch
  • 重命名当前分支

    bash 复制代码
    git branch -M <new_name>
  • 更换当前使用的分支

    bash 复制代码
    git checkout <branch_name_you_want_to_use>

查看修改与记录

  • 查看未提交的更改:显示工作目录中有那些文件被修改了,哪些文件被添加了,以及哪些文件还没有被提交

    bash 复制代码
    git status
  • 查看具体的文件更改:显示工作目录中所有未暂存的更改内容。它会详细显示每个文件中哪些行被添加、删除或修改了。

    bash 复制代码
    git diff
    git diff filename #只想查看特定文件的更改,可以指定文件名
  • 查看暂存区的更改:显示已经被添加到暂存区(staging area)但还没有提交的更改内容。

    bash 复制代码
    git diff --staged
  • 查看提交记录

    bash 复制代码
    git log
    git log -p #查看每次提交的更改内容
    git log -p filename #查看具体文件的修改历史
    git log -n 5 #查看最近的五次提交日志

gitignore文件

.gitignore 文件用于告诉 Git 哪些文件或目录不应该被版本控制系统跟踪。其格式非常简单,每行一个规则,可以包含文件名、目录名、通配符等。

基本格式

每行一个规则:

  • 空行或以 # 开头的行会被忽略。
  • / 开头表示相对于仓库根目录。
  • * 匹配零个或多个字符。
  • ** 匹配零个或多个目录,包括子目录。
  • ? 匹配单个字符。
  • [abc] 匹配方括号中任意一个字符。
  • ! 开头表示取反,即不要忽略这些文件或目录。

例如:

gitignore 复制代码
### custom ###
/logs/**
/src/main/resources/application-dev.yml

如果已经将应该被忽略的文件提交到了 Git 仓库,修改 .gitignore 后并不会自动将已提交的文件从仓库中删除。

以下是一种常见的方法来处理这种情况:

bash 复制代码
# 清理缓存
git rm -r --cached .

# 将所有忽略文件再次加入暂存区
git add .

# 提交更新
git commit -m "更新 .gitignore 文件并清理已跟踪文件"

git push --force
相关推荐
Betray39117 分钟前
Git进行版本控制操作流程
git
VAllen1 小时前
从Windows 11 23H2升级至24H2后,Git操作提示文件所有权错误的3种有效解决方案
windows·git
Java入门学习3 小时前
IDEA如何设置查看差异时到达最下面不自动跳到下一个文件
git·intellij idea
cooldream20093 小时前
如何在 IDEA 中导入 Java 项目的 Git 仓库并启动
java·git·intellij-idea
axing_13144 小时前
关于win10中的Git Bash安装python及虚拟环境venv的激活
git·python·bash
穆栩萌霖6 小时前
解决mac更新后无法连接git问题
git·macos
獨枭8 小时前
git 克隆时,SSL 连接失败解决方案
git
密码小丑8 小时前
kali在git外网的代理
git
猿饵块9 小时前
git--git reset
git
知识的宝藏12 小时前
git的提取和拉取有啥区别
git