本文主要说明Windows(Windows 10)环境下本地项目如何 添加远程库 并进行提交。本地环境的git账号绑定以及 GitHub 上的仓库(Repository)创建不做详细描述。处理过程中也遇到过一些异常问题,如果有类似的异常现象,可以参考本文 异常参考 部分。
环境说明
- Windows 10
- git 2.13.3
- GitHub
主要步骤
- 项目初始化(本地项目初始化)
- 远程仓库初始化(GitHub上创建仓库)
- 本地项目和远程仓库(GitHub)绑定
- 本地项目提交至远程仓库
步骤说明
项目初始化
在本地创建文件夹,并通过 git init
命令初始化仓库,后续新增的文件、编辑后的文件、版本控制与提交可以通过 git add
命令和 git commit
命令进行相应的操作。
示例
- 创建文件夹learn_git
- 通过cmd命令,进入到该目录后,运行命令
git init
,完成仓库初始化 - 在该目录下新增一个readme.md文件,进行相应的内容编辑后保存
- 运行命令
git add readme.md
将该文件纳入版本控制 - 运行命令
git commit -m "新增说明文件"
将新纳入版本控制的文件进行提交
远程仓库初始化
登录GitHub,新增一个Repository,仓库新增完成后,进入仓库并复制该仓库Git地址(HTTPS方式)。
由于部分Linux发行版本生成的SSH密钥存在缺陷,导致该类SSH密钥可被暴力破解,故而推荐使用HTTPS方式进行相应的操作(Windows平台上需要安装类似OpenSSH的软件才能生成密钥,相比而言,直接使用https方便许多)。
本地项目和远程仓库绑定
通过cmd进入本地项目根目录,运行如下命令添加远程仓库绑定
git remote add origin https://github.com/green1893/learn_git.git
其中 https://github.com/green1893/learn_git.git
为上一步中复制的项目Git地址(HTTPS方式),在实际使用时修改为自己对应的GitHub中项目的地址。
本地项目提交至远程仓库
在项目根目录下,通过cmd运行命令 git push -f origin master
即可完成项目文件的提交(push)。该命令中使用了 -f
参数进行强制覆盖提交,所以在本文场景下可以做如下选择,其他场景下需要谨慎使用。
异常参考
最初在参考 Git教程 进行相应操作时,使用的命令是 git push -u origin master
,发现有如下错误:
To https://github.com/green1893/learn_git.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/green1893/learn_git.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
基于本文所需解决的问题,将参数 -u
调整为 -f
后可成功完成提交(push)。