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
相关推荐
自来也_7 小时前
Git配置代理
git
Jooolin21 小时前
【编程史】Git是如何诞生的?这可并非计划之中...
linux·git·ai编程
Lw老王要学习1 天前
VScode 使用 git 提交数据到指定库的完整指南
windows·git·vscode
去旅行、在路上1 天前
Git & Svn
git·svn
abcnull1 天前
github中main与master,master无法合并到main
git·github
养意1 天前
git提交代码和解决冲突修复bug
git·bug
码农黛兮_462 天前
Git 常用命令大全
git
一弓虽2 天前
git 学习
git·学习
疯狂的沙粒2 天前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch
qq_254617772 天前
Gerrit+repo管理git仓库,如果本地有新分支不能执行repo sync来同步远程所有修改,会报错
git