如题,通常都是直接用git clone
将远程仓库拉下来搞,并没有什么难度。但如果是本地项目已经存在,就很麻烦了。
这里记录一下过程。
这里已经创建了一个远程仓库:
本地也有对应的项目代码,但并没有用 Git 进行管理控制。
添加 Git 管理
需要先在项目的根目录下让项目受 Git 管理:
git init
现在项目根目录下会出现一个 .git 目录,该目录存放 Git 的相关文件,这样就说明该目录已经受 Git 的版本控制管理。
添加远程仓库
为本地添加远程仓库:
git remote add origin https://github.com/icexmoon/learn-spring-mvc.git
这里可以使用多种协议添加,这里用的是 HTTPS 协议,还可以用 SSH 或 git 协议。具体可以在 github 仓库的 code 按钮下看到相应协议的仓库地址:
如果使用 SSH 协议,需要配置 RSA 密钥。
可以查看刚添加的远程仓库:
git remote -v
origin https://github.com/icexmoon/learn-spring-mvc.git (fetch)
origin https://github.com/icexmoon/learn-spring-mvc.git (push)
创建本地分支
需要确保本地有一个分支,一般而言 Git 会自动出创建一个 master 分支,但我这里并没有自动创建。
查看所有分支:
git branch -a
输出:
这里remotes/xxx
是远程分支,其中origin
是远程仓库别名,main
是具体的分支名称。
在 WindowsTerminal 中,远程分支用红色标注,本地分支是白色,当前分支是绿色。
如果缺少本地分支,可以先创建一个:
git branch main
本地分支的名称最好和你要提交的远程分支名称一致,后边要将本地分支和远程分支进行关联,名称需要匹配。
如果创建分支时出错,显示
fatal: not a valid object name: 'master'
,需要先提交一次代码,让 master 分支自行创建,然后创建需要的分支。
切换当前分支
还需要切换当前分支为新建的分支:
git checkout main
关联远程分支
为了方便起见,还需要关联本地分支和远程分支,否则每次从远程分支拉取代码或提交代码都需要指定仓库和分支:
git branch --set-upstream-to=origin/main
如果关联失败,显示
fatal: the requested upstream branch 'origin/main' does not exist
,这是因为本地没有创建对应的远程分支,可以尝试先执行拉取远程分支操作git pull origin main
让本地产生对应的远程分支后再尝试。
拉取并合并远程代码
关联好后就可以从远程拉取代码并和本地分支合并代码:
git pull
提交代码
合并好代码后就可以提交代码:
git add .
git commit -m 'xxx'
git push
清理本地无效远程分支
有时候远程分支已经被删除,但本地依然可以看到远程分支出现在分支列表中,可以使用以下命令清理本地无效的远程分支:
git remote prune origin
文章评论