记录一次git使用

好的,以下是从零开始的完整 Git 上传流程(含详细步骤):


1. 安装 Git


2. 配置 Git 账户信息

bash 复制代码
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"

3. 初始化本地仓库

进入项目根目录执行:

bash 复制代码
cd /path/to/your/project
git init

4. 关联远程仓库(GitHub)

  • 在 GitHub 创建新仓库(New Repository),不要勾选初始化 README

  • 复制仓库 SSH 地址(格式:git@github.com:用户名/仓库名.git

  • 本地执行关联:

    bash 复制代码
    git remote add origin git@github.com:用户名/仓库名.git

5. 生成 SSH 密钥(首次使用需配置)

bash 复制代码
ssh-keygen -t ed25519 -C "你的邮箱"
  • 将公钥(~/.ssh/id_ed25519.pub)内容添加到 GitHub:
    Settings → SSH and GPG keys → New SSH key

6. 添加文件到暂存区

bash 复制代码
# 添加所有文件
git add .
# 或指定文件
git add 文件名

7. 提交更改

bash 复制代码
git commit -m "提交描述信息"

8. 推送到远程仓库

bash 复制代码
# 首次推送(-u 设置上游分支)
git push -u origin main
# 后续推送
git push

9. 验证结果

  • 刷新 GitHub 仓库页面,查看上传的文件
  • 若遇到冲突,使用 git pull 同步远程更改后再推送

关键命令总结

步骤 命令
初始化 git init
关联远程 git remote add origin [SSH地址]
提交代码 git add .git commit -m "描述"
推送 git push -u origin main

注意事项

  1. 若 GitHub 仓库已初始化,需先 git pull --rebase 合并历史记录
  2. 分支名称默认为 main(旧版可能为 master,需保持一致)
  3. 使用 SSH 需提前配置密钥(步骤5)

Git常用指令表格

命令 功能 说明
git init 初始化新仓库 在当前目录创建新的Git仓库,生成.git目录。
git clone <url> 克隆远程仓库 将远程仓库复制到本地,默认克隆主分支。
git add <file> 添加文件到暂存区 将工作区的修改添加到暂存区,支持通配符如git add .
git commit -m "msg" 提交变更 将暂存区的内容提交到本地仓库,需附带提交信息。
git status 查看状态 显示工作区、暂存区的文件状态(修改/未跟踪等)。
git log 查看提交历史 显示当前分支的提交记录,含作者、日期、哈希值。
git branch 查看分支 列出所有本地分支,当前分支前标有*
git checkout <branch> 切换分支 切换到指定分支,支持-b参数创建新分支。
git merge <branch> 合并分支 将指定分支合并到当前分支,可能产生冲突需手动解决。
git pull 拉取远程更新 从远程仓库获取最新内容并合并到当前分支。
git push 推送本地提交 将本地提交推送到远程仓库,需指定远程分支如git push origin main
git reset <file> 撤销暂存 将文件从暂存区移回工作区,保留修改内容。
git reset --hard <commit> 回退版本 强制回退到指定提交,丢弃之后的修改(慎用)。
git stash 暂存修改 临时保存工作区未提交的修改,适用于切换分支场景。
git remote -v 查看远程仓库 显示已配置的远程仓库地址及操作权限。

补充说明

  • 提交规范 :建议使用清晰、简短的提交信息,如fix: 修复登录页样式问题,便于团队协作。
  • 分支管理 :推荐使用feature/xxxbugfix/xxx等命名分支,区分开发目的。
  • 冲突处理:合并时若发生冲突,需手动编辑文件解决冲突后重新提交。
  • .gitignore文件:用于排除无需版本控制的文件(如日志、编译产物)。
相关推荐
caz282 小时前
git bash突然ssh不能用了
git·ssh·bash
Remember_9933 小时前
【JavaSE】一站式掌握Java面向对象编程:从类与对象到继承、多态、抽象与接口
java·开发语言·数据结构·ide·git·leetcode·eclipse
移远通信3 小时前
短信的应用
java·git·python
论迹3 小时前
【Git】-- 分支管理
git·ubuntu·版本控制
在下小孙4 小时前
Git与SVN常用指令
git·svn
H Journey18 小时前
Git 教程
git
蜜汁小强1 天前
macOS 上的git代理配置在哪里
git·macos·代理模式·proxy模式
钟佩颖1 天前
Git .
git
Zhongyi_Li2 天前
git merge的一些记录
git