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
相关推荐
Qres8218 小时前
Git安装记录
git
wj3055853789 小时前
Codex + Git 开发环境配置指南(WSL版)
linux·运维·git
楠枬12 小时前
Git 分支管理
git
奇怪的点14 小时前
git clone失败
git
WaiSaa15 小时前
Ubuntu配置Git免密操作
git·ubuntu·gitee
牛奶咖啡1315 小时前
Git实践——分支管理与标签管理及git个性化配置
git·禁用 fast forward·bug分支的创建与操作·远程分支的查看与推送·拉取仓库·推送指定分支到远程仓库·标签的创建与操作
千寻girling18 小时前
五一劳动节快乐 [特殊字符][特殊字符][特殊字符]
java·c++·git·python·学习·github·php
波特率11520019 小时前
git指令学习
git·学习
Karry_66619 小时前
[特殊字符] Git 提交项目 全套命令(按顺序执行)
git
计算机安禾19 小时前
【Linux从入门到精通】第39篇:版本控制Git服务器搭建——Gitea/GitLab私有化部署
linux·服务器·git