所有分类
  • 所有分类
  • 游戏源码
  • 网站源码
  • 单机游戏
  • 游戏素材
  • 搭建教程
  • 精品工具

Git第一次初始化项目到远程仓库|新手保姆级教程|详细步骤避坑

Git第一次初始化项目到远程仓库|新手保姆级教程|详细步骤避坑 一

文章目录CloseOpen

本地项目初始化:从0到1搭建Git仓库

在把项目推到远程之前,得先让本地项目“认识”Git——就像你寄快递前,得先给包裹贴好地址标签,Git就是帮你给代码“贴标签”的工具。这一步最容易出错的不是命令记不住,而是基础配置没做好,我第一次用Git时就栽在这了:当时直接敲了git init,结果提交时提示“please tell me who you are”,查了半天才知道是没配置用户信息。

第一步:先给Git“办身份证”——配置用户信息

不管你用Windows、Mac还是Linux,先确认Git有没有安装好:打开终端(Windows用Git Bash,Mac/Linux用Terminal),输入git version,如果显示“git version x.x.x”就说明装好了;如果提示“command not found”,去Git官网{rel=”nofollow”}下载对应系统的安装包,一路默认下一步就行,安装时记得勾选“Add Git to PATH”,不然终端找不到Git命令。

装好后第一件事,必须配置用户名和邮箱,这相当于告诉Git“谁在提交代码”,后续所有提交记录都会显示这个信息。在终端输入:

git config global user.name "你的用户名" 

git config global user.email "你的邮箱"

这里的“用户名”和“邮箱”最好和你远程仓库(比如GitHub)的注册信息一致,不然提交后远程仓库可能显示“未知作者”。我表妹当时用QQ邮箱注册的GitHub,却填了学校邮箱,结果提交记录里名字和头像对不上,后来改配置重新提交才正常。

> 为什么要做这一步? Git官方用户手册里明确说过:“user.name和user.email是Git提交的必要元数据,没有这些信息,提交操作会失败”(你可以在Git官方文档{rel=”nofollow”}里查到这段说明)。就像寄快递必须写寄件人,Git也需要知道“谁寄的代码”。

第二步:初始化本地仓库——让Git“接管”你的项目

接下来进入你的项目文件夹。比如你的项目在“D:/myproject”,就在终端输入cd D:/myproject(Mac/Linux用cd /Users/你的用户名/myproject),确保终端路径和项目文件夹一致——这一步别走错,不然Git会初始化到错误的文件夹,我见过有人把整个桌面都初始化成Git仓库,后续删.git文件夹删到崩溃。

确认路径正确后,输入核心命令

git init 

敲完回车,终端会显示“Initialized empty Git repository in …”,同时项目文件夹里会多出一个隐藏的.git文件夹(Windows需要开启“显示隐藏文件”才能看到)。这个文件夹就是Git的“数据库”,所有代码版本、提交记录都存在这里,千万别删!

> 新手误区提醒:有人觉得“我先写代码,写完再初始化仓库行不行?”完全可以,但最好一开始就初始化——就像写日记从第一页开始记,总比写了半本再补页码方便。我去年帮朋友的个人博客项目初始化时,他已经写了30多个文件,git add .时漏加了几个配置文件,后来排查半天才发现,所以 项目创建时就初始化仓库。

第三步:把文件“交给”Git——add和commit的正确打开方式

初始化仓库后,Git还没开始“跟踪”你的文件,这时候需要两步操作:先把文件“暂存”(告诉Git“这些文件要提交”),再“提交”(把暂存的文件正式存入本地仓库)。

  • 暂存文件:git add命令怎么用?
  • 如果想暂存所有文件,输入git add .(注意末尾有个点,表示当前目录所有文件);如果只想暂存某个文件,比如index.html,就输入git add index.html

    这里有个新手必踩的坑:只改了文件但没add,提交时不会保存修改。我表妹第一次提交时,改了main.js却只add了index.html,结果远程仓库里的main.js还是旧版本,她还以为是Git出bug了。所以提交前 用git status检查状态:如果文件是红色,说明没暂存;绿色才是暂存成功。

  • 提交文件:git commit必须带“备注”
  • 暂存后输入git commit -m "这里写提交备注",比如git commit -m "首次提交:完成首页布局"千万不要省略-m和备注!如果直接敲git commit,会弹出vim编辑器(黑乎乎的界面),新手根本不知道怎么退出,只能强制关闭终端。要是不小心进去了,按i进入编辑模式,输入备注后按Esc,再输入:wq(冒号+wq)回车就能退出。

    > 为什么备注很重要? 你现在可能觉得“就一个文件,记不记备注无所谓”,但项目复杂后,几百次提交记录全靠备注区分。GitHub官方博客曾提到:“清晰的提交备注能帮团队快速定位问题, 包含‘做了什么+为什么做’”(可以看GitHub官方提交规范{rel=”nofollow”})。我现在翻两年前的项目记录,备注写得清楚的提交,一眼就知道当时改了什么,备注随便写的根本想不起来。

    提交成功后,终端会显示“1 file changed, x insertions(+), y deletions(-)”,说明本地仓库已经存好你的代码了。这时候可以用git log查看提交记录,能看到你刚才配置的用户名、邮箱和备注,确认一切没问题,就可以准备连接远程仓库了。

    连接远程仓库:手把手教你搞定推送全流程

    本地仓库准备好后,就像包裹已经打包贴好标签,接下来要“寄”到远程仓库(GitHub/Gitee这类平台)。这一步最容易出问题的是远程地址关联错误权限不足,我上个月帮同事处理过一个典型案例:他在Gitee创建仓库时选了“私有”,推送时提示“permission denied”,查了才发现他用的账号根本没加入仓库成员列表。

    第一步:先在远程平台“建个收件箱”——创建远程仓库

    不管用GitHub还是Gitee,操作都差不多,以GitHub为例:登录后点击右上角“+”号→“New repository”,填写仓库名称(最好和本地项目名一致,比如本地叫myproject,远程也叫myproject),描述随便写,重点是“Initialize this repository with a README”不要勾选(如果勾选,远程仓库会自动生成README文件,和本地空仓库冲突,后面推送会报错),然后点“Create repository”。

    创建成功后,会跳转到仓库页面,这时候要复制远程仓库地址:点击绿色“Code”按钮,选择“HTTPS”(新手推荐用HTTPS,SSH需要配置密钥,稍复杂),复制弹出的链接(比如https://github.com/你的用户名/myproject.git)。这里要注意:地址必须以.git ,如果复制到的是网页链接(比如https://github.com/你的用户名/myproject),推送时会提示“repository not found”。

    第二步:关联远程仓库——git remote add命令怎么用?

    回到本地终端,输入关联命令

    git remote add origin 刚才复制的远程仓库地址 

    这里的“origin”是远程仓库的“别名”,你可以改成任意名字(比如github、gitee),但行业惯例用origin,后续命令直接用别名操作更方便(比如git push origin main比敲一长串地址省事)。

    常见错误:“fatal: remote origin already exists”怎么办?

    如果之前关联过错的地址,会弹出这个报错,解决方法很简单:先删除旧关联,再重新添加。输入:

    git remote rm origin # 删除旧的origin关联 

    git remote add origin 新的仓库地址 # 重新关联正确地址

    我表妹当时就是第一次复制了SSH地址(以git@github.com开头),但没配置SSH密钥,推送失败后又去复制HTTPS地址,结果没删旧关联就直接add,报了这个错,删了重加就好了。

    第三步:推送代码到远程——git push的终极操作

    关联成功后,最后一步就是推送代码:输入

    git push -u origin main 

    这里的“main”是分支名(以前叫master,现在很多平台默认用main),如果你的本地分支不是main,用git branch查看当前分支名,替换成对应的名字(比如git push -u origin master)。

    第一次推送时,HTTPS方式会弹出登录窗口,输入GitHub/Gitee的账号密码就行(如果是Gitee,可能需要输入手机号验证码)。推送成功后,终端会显示“100% done”,这时候打开远程仓库页面刷新,就能看到你本地的文件了——恭喜!你已经成功把本地项目推到远程仓库了。

    避坑指南:推送失败的3个高频问题及解决办法

  • “failed to push some refs to …”:本地和远程仓库代码不一致(比如远程仓库有README,本地没有),输入git pull rebase origin main拉取远程代码并合并,再git push
  • “Permission denied (publickey)”:用了SSH地址但没配置密钥,要么换成HTTPS地址,要么按GitHub SSH配置教程{rel=”nofollow”}配置密钥。
  • 推送后远程仓库没文件:检查git status是不是有未提交的文件,或者git log确认本地有提交记录,大概率是漏了git addgit commit
  • 做完这些,你可以打开远程仓库页面,点击“Code”按钮下面的文件列表,看看是不是和本地项目一模一样——如果是的话,说明整个流程成功了!我每次帮别人搞定推送后,都会让他们截图远程仓库页面发我,看着自己的代码躺在GitHub上,那种成就感真的很奇妙。

    如果你按步骤做还是遇到问题,别着急,Git的报错信息其实都藏着线索:红色报错里的“remote origin already exists”对应“删了重关联”,“not a git repository”对应“没初始化仓库”。欢迎在评论区把你的报错信息发出来,我帮你看看怎么解决——毕竟谁还没在Git上踩过坑呢,咱们一起把这些“坑”变成以后帮别人的经验~


    你知道为啥提交代码时非得加那个“-m”和备注信息不?其实“-m”就像给快递填面单时的“备注栏”,后面跟着的文字就是你要告诉Git“这次包裹里装了啥修改”。我第一次用Git的时候就犯过傻,当时写完代码直接敲了“git commit”,想着“提交就完事了呗”,结果终端“唰”一下跳出个黑乎乎的界面,上面还有一堆英文,吓得我以为电脑中病毒了——后来才知道那是Git的默认编辑器模式,因为没加“-m”,它非让你在里面写备注不可。当时我对着那个界面愣了五分钟,按键盘哪个键都没反应,最后还是百度搜“Git提交卡住了怎么办”,才学会要先按“i”进入编辑模式,输完备注再按“Esc”,最后敲“:wq”才能退出,现在想起来都觉得好笑,新手第一次碰到这个真的很容易慌。

    而且备注信息可不是随便写写的,这玩意儿不光是Git“规定动作”,更是给你自己和团队挖坑还是铺路的关键。去年我们团队做一个电商项目,有个实习生提交代码时备注写“改了点东西”,结果上线后支付功能出bug,我们翻提交记录,看到这条备注直接懵了——“改了点东西”到底改了啥?是改了支付接口还是订单逻辑?最后翻了他电脑里的本地代码才发现,他偷偷改了订单状态的判断条件,没写清楚备注,害得整个团队加了两小时班排查问题。其实GitHub官方文档里早就说过,好的提交备注得说明白“做了什么”和“为什么做”,就像写日记一样,你现在随便写一句“今天吃了饭”,过半年再看肯定想不起来吃的是早饭还是晚饭、跟谁吃的——代码备注也是一个道理,你现在写“修复登录页样式”,明年项目迭代时翻记录,一眼就知道当时是为了解决登录按钮错位的问题,多省事儿。


    初始化仓库后,本地文件没出现在暂存区怎么办?

    这通常是因为没有执行暂存命令。初始化仓库(git init)后,需要用“git add 文件名”暂存指定文件,或“git add .”暂存所有文件(注意末尾的点表示当前目录)。执行后用“git status”检查,绿色文件名表示暂存成功,红色表示未暂存。如果漏了这一步,提交时Git会提示“nothing to commit”。

    推送时提示“remote origin already exists”怎么解决?

    这个错误说明本地已关联过远程仓库地址(可能之前关联错误或重复创建)。解决方法是先删除旧关联:在终端输入“git remote rm origin”,然后重新添加正确的远程地址:“git remote add origin 新的仓库地址”(仓库地址从远程平台复制,确保以.git )。去年帮表妹处理时,她就是复制错了HTTPS和SSH地址,删旧关联后重新添加就好了。

    为什么提交代码时必须加“-m”和备注信息?

    “-m”参数是告诉Git提交时附带备注信息,用于说明本次提交做了什么修改(比如“修复登录按钮样式”)。Git要求提交必须包含备注,否则会进入编辑器模式(新手容易卡在这里)。更重要的是,备注能帮你和团队后续查看提交历史时快速定位内容——GitHub官方文档提到,清晰的备注是协作开发的基础,避免后续翻记录时「不知道当时改了什么」。

    推送成功后,远程仓库显示文件不全怎么办?

    可能是漏了暂存或提交步骤。先检查本地:用“git log”查看提交记录,确认最近一次提交是否包含所有文件;再用“git status”检查是否有未暂存(红色)或未提交(绿色)的文件 如果有遗漏,执行“git add . ”暂存,“git commit -m ‘补充提交:添加遗漏文件’”提交,再“git push origin main”推送即可。我朋友之前漏加了配置文件,就是这样补充推送的。

    原文链接:https://www.mayiym.com/43217.html,转载请注明出处。
    0
    显示验证码
    没有账号?注册  忘记密码?

    社交账号快速登录

    微信扫一扫关注
    如已关注,请回复“登录”二字获取验证码