Git 入门:从零到把第一个仓库推上远程
Git 入门:从零到把第一个仓库推上远程
一份"抄了就能用"的 Git 极简上手指南。不扯原理,先把活干完。
为什么要有 Git
写代码最怕两件事:改崩了回不去,换台机器代码没了。Git 一次解决俩——本地留全历史,远程存一份。剩下的事,就是把下面几条命令跑通。
第一步:全局配置(只做一次)
装好 Git 后,先告诉它"你是谁"。这决定你每次提交的作者信息:
git config --global user.name "Quentin"
git config --global user.email "632949462@qq.com"
--global:对本机所有仓库生效,配置一次,终身可用。- 名字随便起,邮箱建议用你 Gitee/GitHub 账号绑定的那个,否则提交算不到你头上。
- 检查是否生效:
git config --list。
场景一:从零创建一个仓库
适合"我本地啥都没有,从头开始"。
mkdir boundary3d
cd boundary3d
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/Yws154/boundary3d.git
git push -u origin "master"
逐条拆开看:
| 命令 | 干了啥 |
|---|---|
mkdir boundary3d |
建个文件夹当项目根目录 |
cd boundary3d |
进去 |
git init |
把它初始化成一个 Git 仓库,生成隐藏的 .git/ |
touch README.md |
建个空的 README,先占个位 |
git add README.md |
把文件放进"暂存区",告诉 Git 我要提交它 |
git commit -m "first commit" |
提交,生成一条历史记录 |
git remote add origin <url> |
给这个仓库挂上远程地址,起名 origin |
git push -u origin "master" |
推送到远程,-u 记住对应关系 |
关键点:add 是"挑要提交的文件",commit 是"真正拍下快照"。这俩是 Git 最核心的两个动作,别指望一个命令搞定。
-u(--set-upstream)的作用:把本地master和远程origin/master绑定。绑定之后,以后直接git push/git pull就行,不用每次写一长串。
场景二:已有仓库,接上远程
适合"代码本地早就有了,现在想推上去"。
cd existing_git_repo
git remote add origin https://gitee.com/Yws154/boundary3d.git
git push -u origin "master"
和场景一的差别就一句:没有 git init。因为仓库已经存在(要么已经 init 过,要么是从别处 clone 下来的)。
推之前确认两件事,能省一堆报错:
git log --oneline # 本地有提交历史吗?空的推不上去
git remote -v # 远程地址对不对?重复 add 会报错
如果远程已经存在且 origin 已绑过,改成:
git remote set-url origin https://gitee.com/Yws154/boundary3d.git
三个必踩的坑
1. master 还是 main?
Git 新版本默认分支名改成了 main,而 Gitee/GitHub 早期仓库普遍是 master。名字对不上就会推失败。先看一眼:
git branch # 看本地分支叫啥
要改默认,可全局设置:git config --global init.defaultBranch main。
临时重命名:git branch -M main。
2. 第一次推送要认证
用 HTTPS 地址推,会让你输账号密码。但现在大厂基本都禁用密码,改用「个人访问令牌」或 SSH 密钥。最省事的做法:配 SSH key,然后把远程地址换成 git@gitee.com:Yws154/boundary3d.git。
3. 啥都往仓库里塞
编译产物、依赖目录、密钥文件……一旦提交就像口香糖粘鞋底。项目一建就先写 .gitignore:
node_modules/
dist/
*.log
.env
.DS_Store
记住这四条,日常够用了
git status # 我现在改了些啥?(最常用,没事就敲)
git add . # 全部改动加进暂存区
git commit -m "..." # 拍快照,提交信息写清楚干了啥
git push # 推上远程
剩下的 branch、merge、rebase、reset,等你真需要了再学——先把上面这套跑顺,别一上来就被分支模型劝退。
人生如棋,落子无悔。但 Git 的好处是——落错了子,你还能 reset。
浙公网安备 33010602011771号