转载地址:http://tieba.baidu.com/p/2669973158?pn=1 别人的努力,转载可要注明出处
Git 使用最新版:Git-1.8.4-preview20130916
http://pan.baidu.com/share/link?shareid=4006639853&uk=1427042506下载双击安装,简单的就不说了...
教学任务是
把MESS项目提交到服务器去
打开code.csdn.net 新建个项目
[PS:没号的自己注册去,有CSDN的直接登陆(貌似开放注册了)]
推广连接https://code.csdn.net/user_invitation?invitation_code_id=25956
首页是酱紫的
1、创建个项目,填写好项目信息
创建项目后是酱紫的....
现在配置一下,git工具.....
下载安装什么的很简单的,
安装默认的就好.....
安装好后找到这东东
打开
好了,现在先配置好Git 的全局帐号先[也就是连接csdn的帐号]
git config --global user.name "CSDN id"
CSDN id是在登录后,进入[网址]passport.csdn.net,在“个人帐号”的最下端查看用户名
看到酱紫,
所以我在命令行写的是
如果没有错误提示就说明OK了
配置邮箱
git config --global user.email "CSDN passport中注册邮箱"
""号里直接写注册CSDN用的那个邮箱地址就OK了
忘记了可以在上[网址]passport.csdn.net 的修改修改邮箱里看到
我的就是这样子....
添加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公钥管理”,点击“添加公钥”,将刚刚生成的公钥填写到“公钥”栏,并为它起一个名称,保存即可。
生成的公钥在这,直接全选复制打开的文本到那个框就行了
注意:复制公钥时不要复制多余的空格,否则可能添加不成功。
填写的像这个样子
设置好这样就行了,以后这一部分就不用再配置了.
开始提交项目到CODE的服务器上了....
再说一下我的项目在D:\MyEclipse\MESS
然后就这样子的
cd 切换目录,ls显示文件列表[PS:虽然用的是win但这工具里的命令基本是linux下的]
路径问题要用/ 号,这个\是没有用的....
开始提交项目到CODE的服务器上了....
再说一下我的项目在D:\MyEclipse\MESS
然后就这样子的
cd 切换目录,ls显示文件列表[PS:虽然用的是win但这工具里的命令基本是linux下的]
路径问题要用/ 号,这个\是没有用的....
[上传项目]
先用 git init 初始化项目
然后用git add 来添加要上传的文件,
git add . //注意小数. 这样表示添加当前目录下的所有文件,
还可以添加一个文件或一组文件
如:
git add index.jsp
git add hello.java hello.class
这样就添加了要上传的文件[PS:现在还没有上传,只是相当于标记了]
git commit -m “first commit”
这命令git commit是提示Git要提交代码了,[PS:告诉git 项目修改好了,,,要上传的文件也添加了]
-m 表示要加上注释//可以这么说吧......
“first commit” 是你想告诉别人的这次提交的信息如:提交了什么
命令执行后是酱紫,下面还有一堆的输出信息,显示了提交了哪些个文件,
[PS:现在也还没有提交到服务器]
魂淡!到底什么时候才提交了
现在要做一件很重要的事,
就是项目要提交到哪里去? 现在CODE上是只有一个项目,
如果我创建了一堆项目呢?
怎么提交?
看看刚才创建项目的界面,有个项目地址,
所有要在Git里添加上,命令是:
git remote add origin <项目url, 如git@code.csdn.net:xxx/xxx.git>
origin 是个名字,自己取一个吧,,,
后面跟着的就是项目在址了,,,,
所以我的就是这样子的:
[PS:发现没用了git init 初始化项目后路径提示中多了个master (分支名) ]
回车后没有错误提示就是OK了
现在上传项目的最后一步来了.....
终于可以提交项目到服务器了
运行命令:
git push -u origin master
origin的项目的名字,可以改的,不一定和本地的文件夹(项目)名一样
master 分支,现记着就行,master代表主分支,,,,,不懂以后看看Git 手册
我运行的就是:
回车,最后输入,上面我说启动密码的那个东东
回车,,,,
~~~~~~~~魂淡,居然提交失败了
这是什么?居然出错了?
好吧.....实话实说,,,,,,,其实.....前面有个步骤出错了的
我感觉还是先讲了吧,,,,,,不然新手忘了那一步,再提问比较麻烦.......
上面这问题是服务器的代码和本地的不一至.......呃,好像说的不清楚......
这么说吧....你以经上传过一份项目到服务器,你好多天没改了,,,然后今天突然有兴趣去升级一下hellowold()程序,,,,,然而你不知道你同组的同学已经下载下来了,然后修改后又传上服务器去了.(假设你同学有这权限,关于这个问题,不懂可以看看手册)
不知道服务器项目已经被修改就会出现这错误......(PS:虽然你还没有上传过任何东西,但在创建项目时你忘了一项设置....)
你在创建项目时在服务器上已经初始化过项目了,,,,
然后在本地时又初始化了一次
(初始化信息保存在README.md文件中,在项目的根目录能看到 )
相当于初始化过两次,然后初始化的结果还是不一样的,,,,,,,就起冲突了....
解决方法,,,强行同步?不知道是不是这么说的.....
git push --force MESS
MESS是项目名....〔暂时这么理解吧....〕
加个--force 注意是两个减号...
回车后输入口令(上面说过的启动密码)
就会上传项目了,还能看到上传进度....
上传成功
强制推送代码到服务器这种事还是少做
万一出事就不好了...[PS:不怕,还可以回滚事务的
(PS:呃,随便说说的,那东东好像不叫事务)]
如果是第一次就没什么问题,,,,,,,,
刷新CODE平台上项目的页面,转到代码视图,发现项目已经上传成功....
注1:
如果按我上面做的操作的话,刚开始就把图框框的钩点掉的话,就不会出现,
冲突了,,,直接就行上传成功
注2:
第二种更简单的方法,
项目名和本地项目名一致,
同样把钩去掉,
在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 MESS git@code.csdn.net:ystyle_/mess.git
git push -u MESS master
执行后一样能成功提交