今天无意间发现了csdn的code,刚好前两天因为校园网对github的限制苦恼,这下来了精神,迫不及待的尝试了一下!
网上搜了很多使用方法,在这里做个总结,感谢网上的各位贴友。
code感觉就是github的大陆版,各种功能都蛮像的,希望是一个经得起考验的版本控制器。
下面是方法:
首先是网址:https://code.csdn.net/,使用你的csdn帐号登录就可以了。
接下来下载Git http://msysgit.github.io/
创建一个新项目,填写项目信息,注意,最后的“使用README初始化项目”不选:
创建完毕后是这个样子:
这样,一个空项目建完了,里面有一些初始化项目的向导,暂时不用管~
先配置一下Git工具:在开始里打开Git Bash,如下所示:
这是一个与win中命令行相似的东西,用过mysql和linux的都不陌生吧,基本命令相似。
现在先配置好Git 的全局帐号先[也就是连接csdn的帐号]
git config --global user.name "CSDN id"
CSDN id是在登录后,进入[网址]passport.csdn.net,在“个人帐号”的最下端查看用户名。我这里是:
没有提示出错就ok!
之后配置邮箱:
git config --global user.email "CSDN passport中注册邮箱" ""号里直接写注册CSDN用的那个邮箱地址就OK了
可以用git config -l查看配置。
添加SSH公钥
你就当它是用来加密传输什么的吧....不解释
在Git的那个窗口输入cd ~/.ssh
如果提示No such file or directory /没有该文件或目录
说明第一次用,先生成公钥
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
直接输入这几个就行了
注意$号不用自己打,,,,,
1.创建一个key_backup 目录
2. 备份KEY(如果有的话)
3.删除原来的KEY
重要的来了,输入:
ssh-keygen -t rsa -C “您的邮箱地址”
生成新的密钥
在回车后会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。[PS:还是加个密码吧,,,相当于某些软件的启动密码]
也是重要的
登录CODE平台,进入用户“账户设置”,点击右侧栏的“ssh公钥管理”,点击“添加公钥”,将刚刚生成的公钥填写到“公钥”栏,并为它起一个名称,保存即可。
默认目录应该在C盘用户的当前用户文件夹下,打开.ssh,我的是C:\Users\DJ\.ssh,打开里面的id_rsa.pub文件,注意:复制公钥时不要复制多余的空格,否则可能添加不成功,所以打开后Ctrl+A吧!
设置好这样就行了,以后这一部分就不用再配置了.
才入主题:开始提交项目到CODE的服务器
方法一:命令行Git Bash
我的项目在D:\MyGit\project下,随便建了两个文档a.txt和b.cpp。
首先切换到项目目录:D:\MyGit\project
cd 切换目录,ls显示文件列表,注意用tab键可以自动补全哦:)
[PS:虽然用的是win但这工具里的命令基本是linux下的]
路径问题要用/ 号,这个\是没有用的
切换后,用ls命令查看,如下:
先用git init 初始化项目
然后用git add 来添加要上传的文件,
git add . //注意小数. 这样表示添加当前目录下的所有文件,
还可以添加一个文件或一组文件
如:
git add a.txt
git add hello.java hello.class
这样就添加了要上传的文件[PS:现在还没有上传,只是相当于标记了]
git commit -m “first commit”
这命令git commit是提示Git要提交代码了,[PS:告诉git 项目修改好了,,,要上传的文件也添加了]
-m 表示要加上注释//可以这么说吧......
“first commit” 是你想告诉别人的这次提交的信息如:提交了什么,显示如下:
[PS:现在也还没有提交到服务器]
现在要做一件很重要的事,
就是项目要提交到哪里去? 现在CODE上是只有一个项目,
如果我创建了一堆项目呢?
怎么提交?
这里就要使用到刚才code页面中的向导啦:
看看刚才创建项目的界面,有个项目地址,上图所示,注意,左边的标签要选中SSH!
所有要在Git里添加上,命令是:
git remote add origin <项目url, 如git@code.csdn.net:xxx/xxx.git>
origin 是个名字,自己取一个吧
后面跟着的就是项目在址了
所以我的就是这样子的
回车后没有错误提示就是OK了
之后,便可以正式上传了!
运行命令:
git push -u origin master
origin的项目的名字,可以改的,不一定和本地的文件夹(项目)名一样
master 分支,现记着就行,master代表主分支,,,,,不懂以后看看Git 手册
我运行的就是:
我这里不是第一次登录远程服务器了,如果是第一次登录,会要求输入ssh密码,一路回车,遇到yes/no就yes!
这里可能还是会出错,上面这问题是服务器的代码和本地的不一至.......呃,好像说的不清楚......
这么说吧....你以经上传过一份项目到服务器,你好多天没改了,,,然后今天突然有兴趣去升级一下hellowold,然而你不知道你同组的同学已经下载下来了,然后修改后又传上服务器去了.(假设你同学有这权限,关于这个问题,不懂可以看看手册)不知道服务器项目已经被修改就会出现这错误。
你在创建项目时在服务器上已经初始化过项目了,,,,
然后在本地时又初始化了一次
(初始化信息保存在README.md文件中,在项目的根目录能看到 )所以,创建的时候,README就不要选啦!
相当于初始化过两次,然后初始化的结果还是不一样的,,,,,,,就起冲突了....
解决方法,,,强行同步?不知道是不是这么说的.....
git push --force MESS
MESS是项目名....〔暂时这么理解吧....〕
加个--force 注意是两个减号...
回车后输入口令(上面说过的启动密码)
就会上传项目了,还能看到上传进度....
上传成功,不过强制推送代码到服务器这种事还是少做!
上传完毕后刷新下页面,选择code标签,帅!
第二种更简单的方法,
项目名和本地项目名一致,
同样把钩去掉,
在Git命令行下cd 到项目目录下:
执行
git remote add code <项目url, 如git@code.csdn.net:xxx/xxx.git>
这和上面说的一样,
code 是项目的名字,后面直接接上CODE上的项目地址
然后直接提交就成功了:
git push -u code master
同上code 是项目名,master是分支名,
master表示主分支
如果上面我用这种方法的话,就这么写:
git remote add project git@code.csdn.net:zhdjbabygo/pssm.git
git push -u project master
执行后一样能成功提交
方法二:图形界面Git GUI
以上工作全部在命令行下进行,当然,也可以用图形界面,在刚才打开Git Bash时,一定看到了Git GUI了,打开它,嗯,确实丑爆了!跟Github完全不能比,不过,还能用的。
打开后界面如下:
选择创建新的版本库,选择你的工程所在文件夹,我这里以new_project为例:
确认新建,保证工程中至少有一个文件。
之后在csdn code中新建一个项目,步骤跟刚才一样。
点击缓存改动:
为缓存的改动会移动到已缓存的改动区,但是还没有被提交!
这是需要添加提交描述(每次提交都必须给与描述),之后点击提交。注意,这时候还没有被上传到服务器。
接下来是重点:
选择远端,选择Add,填写名字和Location:
其实,这里实际上也是在完成刚才命令行完成的任务,名字随便起,Location粘贴网页项目的Url。
点击Add,出现绿色,成功!
接下来点击上传,点击上传:
同样成功!
以后每次修改完,点击重新扫描,然后缓存改动,写提交描述,提交,上传(不需要多次配置,使用之前添加的就行,如果向删除之前的remote,那么选择远端->remove就可以啦)。
感觉还是很方便的!
暂时就写这么多吧,第一次在线码这么多字,脖子好酸,希望这个git能好用啦!
真的要吐槽一下,csdn插图片很艰难,一共编辑了6次,算是完成了!