欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在Windows系统中,如何为coding.net平台设置远程git配置指南

最编程 2024-08-01 22:08:44
...

windows 下在 码市(coding.net) 上配置远程 git

前言
为什么不用github?因为github不可以免费保存私有项目工程,提供免费服务的项目必须公开,所以用其做版本控制的话,对于一些自己正在调试、还未成型的项目并不是很好。因此我用码市(coding.net)来对自己的项目进行版本控制。

1. 下载安装git 并创建coding.net账号

我用了代理才能上git官网,好像之前是不用代理也可以上的。现在windows版本已经到2.11.0(2016-11-29),推荐使用比较新的版本,coding.net推荐使用1.8以上的版本。
比较新的版本安装完成以后会自带git-bash工具(默认安装配置),其构建了MINGW64的环境,我们可以像在Linux终端下一样操作git,进行版本控制。Linux的基本命令在其中都有。因此,我下面要说的操作方法,基本上和Linux下的操作一样,只是文件系统结构有所区别,也无大碍。Git-Bash基本操作可以参考该博文

2. 设置公钥

我们本地的Git仓库与coding.net上的仓库之间的传输一般采用SSH方式,方便进行版本控制,https的方式则用的不多。SSH传输是加密的,为了方便多个repository的版本控制,一般我们需要配置验证信息,其实就是配置SSH Key,首先在自己当前电脑上生成SSH Key,在git-bash窗口中输入:

$ ssh-keygen -t rsa -C "youremail@example.com"

youremail@example.com 就是你在coding.net上注册的邮箱,之后需要确认Key的保存路径和密码,一般我们直接敲回车,默认就可以了。这样子在用户根目录下回生成 .ssh 文件夹,这个用户根目录,如果是windows 一般会在C盘用户(users)下:
这里写图片描述
可以通过

$ cd ~/
$ pwd

进入该目录,这和Linux下的操作一致。
生成公钥以后,在.ssh文件夹中会有id_rsa和id_rsa.pub文件,则公钥就在id_rsa.pub中,可以用cat 命令查看其内容,并复制以ssh-rsa 开头的这段代码。
这里写图片描述
打开coding.net,并登陆账号,在右上角下拉菜单中选择个人设置 ,进入以后选择SSH公钥,可以根据你的计算机名称设置公钥名称(自行设置),然后将刚刚复制的内容粘贴到公钥内容的文本框中,如下图并点击添加:
这里写图片描述
在下方已添加的公钥中则可以查看刚刚添加的公钥。
为了验证公钥是否添加成功,输入一下命令:

$ ssh -T git@git.coding.net

应该会有这样的询问:

$ The authenticity of host 'git.coding.net (219.146.244.71)' can't be established.
RSA key fingerprint is (……).
Are you sure you want to continue connecting (yes/no)?

输入yes,回车,如果设置成功则会有:

$ Hello YourName! You've connected to Coding.net via SSH successfully!

这样子在.ssh文件夹中会出现known_hosts文件。

3. 配置账户

$ git config --global user.name “your_username”  #设置用户名
$ git config --global user.email “your_Email_address”  #设置邮箱地址(建议用注册coding.net的邮箱)

4. 在coding.net中创建远程仓库

点击页面右上侧加号,创建项目,填写基本信息,其他内容默认,建议不启用README.md文件初始化项目,该文件可以在后期创建,如果创建的话,后面需要先提取远程仓库文件(其实就是README.md文件)并与本地仓库文件合并才能再讲本地仓库文件push到远程仓库。

5. 创建本地仓库(如果已有则略过本步骤)

在git-bash中进行如下操作,创建简单的版本库,加入测试文件:

$ mkdir test-git                           # 创建测试目录
$ cd test-git/                             # 进入测试目录
$ echo "Coding-Git 测试" >> README.md        # 创建 README.md 文件并写入内容
$ ls                                        # 查看目录下的文件
README
$ git init                                  # 初始化
$ git add README.md                         # 添加文件
$ git commit -m "添加 README.md 文件"        # 提交并备注信息
[master (root-commit) 0205aab] 添加 README.md 文件
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

如果已有本地仓库,则cd到对应的文件目录中。

6. 连接本地与远程仓库

在coding.net网页上项目中可以找到刚刚创建的项目,点击打开,可以在右侧下方看到SSH方式访问仓库的链接地址(选择SSH,而不是HTTPS),如下图:
这里写图片描述
全选复制链接地址,然后在git-bash中输入:

$ git remote add origin git@github.com…… #上面复制的SSH方式的链接地址,origin为名字,自己设置
$ git push -u origin master

可以通过

$ git remote -v

来查看当前本地仓库对应每个别名已经连接的远程仓库有哪些
一般情况下,如果coding.net上新建的远程仓库中没有文件,则可以将本地的文件push 到远程仓库中,然而,如果远程仓库中有一些本地没有的文件,则在执行第二条命令的时候会报如下错误:

error: failed to push some refs to '...'(ssh 地址) Updates were rejected because the remote contains work that you do not have locally. This is usually caused by another repository pushing to the same ref. You may want to first integrate the remote changes (e.g....) before pushing again.

则可以将远程仓库中的文件fetch到本地,并merge,一般采用pull命令(pull=fetch+merge):

$ git pull orgin master

将远程仓库中的文件取回本地,并合并以后再执行push命令:

$ git push -u origin master

则可以将本地仓库上传到远程仓库。

7. 提取远程仓库

正如前面一节所提到的:

$ git fetch #从远程仓库下载新的分支与数据
$ git merge #将远程分支合并到当前所在的本地分支

上面两句一般同时执行,当然也可以直接从远程仓库提取数据并尝试合并到当前分支,如下:

$ git pull origin master

如果记不清你之前设置的别名(这里就是origin),可以通过

$ git remote -v 

查看,或者直接tab补全,后面的参数为branch(分支)名字。

如果是更新本地文件,首先可以用:

$ git fetch origin

来查看远程仓库已经更新的文件,再通过:

$ git merge origin/master

将更新的内容合并到本地仓库。

8. 推送到远程仓库

如果是推送分支到远程,则用:

$ git push origin master

9. 删除远程仓库

直接用命令:

$ git remote rm origin

10. 部分问题汇总

(1)
如果采用ssh远程连接方式:

$ git remote add origin ... #省略号代表ssh链接地址
$ git push -u origin master

出现如下错误:

Permission denied (publickey). fatal: Could not read from remote repository

改用https远程连接方式:

git remote add origin ... #省略号代表https链接地址
git push -u origin master

会弹出对话框,填入你的coding.net的用户名和密码,即可登录连接。

其他常用命令可以参考RUNOOB中git教程