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
相关推荐
PandaCave10 分钟前
git常用命令以及注意事项总结
git
算你狠 - ZGX4 小时前
Git使用
git
Lojarro11 小时前
【后端】版本控制
git·subversion
MengYiKeNan16 小时前
Git配置与使用
git
shall_zhao16 小时前
修改仓库中子模块并推送到远程仓库的指定分支
git
鱼钓猫的小鱼干19 小时前
Git 安装
git
子洋19 小时前
迁移 Gitlab 到 Forgejo
前端·git·后端
爱串门的小马驹21 小时前
git,ssh免密公钥配置,gitee为例,GitHub,gitlab同理
运维·git·ssh
小小小妮子~21 小时前
掌握Git分布式版本控制工具:从基础到实践
分布式·git