新手使用GitHub:应在哪个目录执行git init?远程仓库如何创建?
问题:Go项目目录结构下的Git初始化与远程仓库创建疑问
我的本地目录结构是按Go开发规范搭建的:
~/go/src/github.com/my_git_name/my_app1/....project files ~/go/src/github.com/my_git_name/my_app2/....project files
刚学会用Git,想给每个项目创建仓库并把本地内容推送到GitHub,有两个疑问:
- 应该在哪个目录执行
git init?是~/go/src、~/go/src/github.com/my_git_name,还是其他目录? - 能不能从本地推送时自动在GitHub创建对应项目名称的仓库,还是必须先在github.com上手动创建?
之前只看到过要在项目目录执行git init的说明,但这个包含github.com的目录结构让我有点困惑,找不到针对性的解决方案。
回答
1. Git初始化的目录选择
必须在每个项目的根目录分别执行git init,也就是:
- 进入
~/go/src/github.com/my_git_name/my_app1/,执行git init - 进入
~/go/src/github.com/my_git_name/my_app2/,执行git init
Go的这个目录结构是为了符合模块路径规范(方便go mod识别依赖),但每个my_app1、my_app2都是独立项目,需要各自作为独立的Git仓库管理。如果在上级目录初始化,会把两个项目合并到同一个仓库里,显然不符合多项目独立管理的需求。
2. 远程仓库的创建方式
默认情况下,必须先在GitHub上手动创建对应名称的空仓库,再在本地仓库关联后推送。操作步骤大致如下:
- 登录GitHub,创建名为
my_app1的空仓库(不要勾选初始化README、.gitignore或LICENSE选项) - 在本地
my_app1目录下执行:git remote add origin git@github.com:my_git_name/my_app1.git git add . git commit -m "Initial commit" git push -u origin main
如果想用命令行自动创建远程仓库,可以用GitHub官方CLI工具gh:
- 先安装
gh并完成登录授权(执行gh auth login) - 进入本地项目目录,执行
gh repo create my_app1 --public --source . --push,就能自动创建远程仓库并推送本地内容
但作为新手,先从手动创建仓库开始,更能清晰理解整个流程的逻辑。
内容的提问来源于stack exchange,提问作者chuckd833
相关产品推荐
相关产品推荐

