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
相关推荐
jingshaoqi_ccc4 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年4 小时前
Git简单命令
git·gitee·github·batch命令
用户1259265423207 小时前
使用 Docker 搭建 Gitea 并实现 Git HTTP 自动登录
git
一只毛驴9 小时前
谈谈对git stash的理解?
git
长风破浪会有时呀14 小时前
Git 学习笔记
笔记·git·学习
中微子21 小时前
Git Rebase 详解:概念、原理与实战示例
git
荔枝吻1 天前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow
云和数据.ChenGuang1 天前
git中的指令解释
git
小Lu的开源日常1 天前
在 macOS 上设置 SSH 和 Git
git·macos·ssh
eleven_h1 天前
ERROR: Permission to Splode/pomotroid.git deni
git