本地项目需先初始化git:git init、加.gitignore、git add .、git commit -m "init";再配置远程origin;首次push失败时应git pull --rebase origin main解决非快进冲突;凭据问题需git config --global credential.helper store并输入token。

本地已有项目,但没初始化 Git 仓库
这种情况最常见:你写了一堆 main.go 和 go.mod,目录里没有 .git 文件夹。直接进 GoLand 点「Share Project on GitHub」会失败,提示“not a git repository”。
必须先手动初始化:
- 打开 GoLand 终端(
Alt+F12),cd 到项目根目录 - 运行
git init—— 此时生成.git目录 - 立刻加
.gitignore,至少写上.idea/和go.sum(如果不想提交依赖校验) - 再执行
git add .和git commit -m "init"
做完这四步,GoLand 才能识别为有效 Git 工作区,后续操作才不会报错。
用 GoLand 图形界面一键关联远程仓库
前提是:GitHub 上已建好空仓库(不要勾选 Initialize with README 或 .gitignore),且本地已完成上一步的初始化和首次提交。
在 GoLand 中操作路径很短:
- 菜单栏点击
VCS → Git → Remotes → Add... - Remote name 填
origin(惯例,别改) - URL 填 GitHub 仓库页右上角「Code」按钮复制的 HTTPS 地址,形如
https://github.com/yourname/your-repo.git - 点 OK,GoLand 会自动执行
git remote add origin ...
注意:如果之前手动执行过 git remote add,这里会提示 remote already exists —— 别点覆盖,直接跳到下一步 push 即可。
第一次 push 失败:remote rejected,提示 non-fast-forward
这是新手最常卡住的地方:GitHub 仓库里被你误点了「Add a README file」,导致远程有初始 commit,而本地是全新 commit,两者无共同祖先。
不能硬 push,得先拉取再合并:
- 终端运行
git pull --rebase origin main(注意分支名,GitHub 新建仓库默认是main,不是master) - 如果提示冲突,说明远程 README 和你本地文件有重叠(比如都改了
README.md),删掉本地的或按提示 resolve - 再
git push origin main就能成功
千万别用 git push -f 强推——除非你确定远程没人协作,否则会丢掉别人可能已提交的内容。
GoLand 提交时提示 “No Git credentials provided”
不是账号密码问题,而是 GoLand 没法调用系统 Git 的 credential helper,尤其 Windows 下常见。
最快解法是命令行补一手:
- 终端进项目根目录,运行
git config --global credential.helper store - 再执行一次
git push origin main,它会弹窗要你输 GitHub 账号密码(或 Personal Access Token) - 输完后,Git 会把凭据存到磁盘,之后 GoLand 的图形化 push 就能复用这个凭据
Token 必须带 repo 权限,且不能用密码——GitHub 已禁用密码登录 API,只认 token 或 SSH key。











