关于这样的东西,网上很多教程,这里就结合自己看的还有自己的例子来说明一下吧:

1.你得下载一个git软件并成功安装

2.生成ssh:

关于这个,我觉得似乎不是一定的,因为通过https也可以连接到coding的远程仓库,但是用ssh可以让你在以后的push都不用输入密码。

(还有种输入密码的方式):

然后coding官网讲这个ssh的讲得还是蛮详细的,配的时候可以在这里看:https://coding.net/help/doc/account/ssh-key.html(这篇博客讲得不错)

这里就大概讲一下过程:

  生成公钥:打开命令行终端输入 ssh-keygen -t rsa -C "your_email@example.com"( 你的邮箱),连续点击 Enter 键即可。

  复制公钥,用文本编辑器打开『id_rsa.pub』文件,复制全部内容。这个id_rsa.pub你在git的命令行那生成后就会告诉你路径,windows的话一般在用户的.ssh文件夹里面,还有一个id_rsa是密钥

  在coding中添加公钥:这里就不讲了,官网有很详细的介绍

3.创建本地仓库:

这里先要来介绍一下git的一些知识  (https://blog.csdn.net/qq_22337877/article/details/73249912)

简单的来说,电脑中能看到目录的地方,就是一个工作区,然后工作区中有个隐藏目录.git,这个其实不算工作区,而是git的版本库。

git的版本库里面有很多东西,其中较为重要的是stage或者叫index,就是缓存区。还有git为我们自动创建的第一个分支master,以及指向master的第一个指针叫做head

我们现在就是要建立我们的本地仓库,一般可以是你的工作目录。

在你的项目文件夹下面,鼠标右键然后git bash here,然后就可以使用git的命令行来进行操作了

要建立本地仓库,要用到的命令是   git init   然后这个时候的效果就是,你的项目文件夹目录下有了个.git后缀的文件。也就是说在你的工作区中现在有了个git的版本库了。

4.在coding上建立远程仓库并与之建立联系:

首先是在coding上建立你的仓库,这里建立一个空的仓库就好了。

如果你之前有在coding或者其他代码管理平台clone过代码,那么这里就已经与远程仓库建立起了联系。

然后这里,如果没有clone,那么这里就要用命令:

git remote add origin <server>

然后就关联上了远程仓库了。 添加后的远程仓库,我们叫origin

5.commit代码到本地分支head所指的master去:

因为我们的push操作(更新推送到远程仓库)是把本地仓库的分支push上去,所以我们先要把更新内容commit到本地分支。

先用命令add fileName  或者 add .   注意第二个命令有个“.”,是把本地所有新增的文件还有变化的文件都提交到缓存区stage,但好像不包括删除的文件。

这里第一次用这个命令的时候遇到了点问题,百度知道,windows中的换行符为 CRLF, 而在linux下的换行符为LF

这个问题是因为Git的换行符检查功能的,core.safe crlf  ,这是可以让git在你提交文件的时候检查文件是否混用了不同风格的换行符,这个功能提供了如下选项:

  • false - 不做任何检查
  • warn - 在提交时检查并警告
  • true - 在提交时检查,如果发现混用则拒绝提交

这个是设置换行符检查功能的,建议用true

git有三种模式去对付换行符结尾:

$ git config core.autocrlf
# that command will print "true" or "false" or "input"

#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true       If core.autocrlf is set to true, that means that any time you add a file to the git repo that git thinks is a text file, it will turn all CRLF line endings to just LF before it stores it in the commit. Whenever you git checkout something, all text files automatically will have their LF line endings converted to CRLF endings.

#提交时转换为LF,检出时不转换
git config --global core.autocrlf input

#提交检出均不转换
git config --global core.autocrlf false       If core.autocrlf is set to false, no line-ending conversion is ever performed, so text files are checked in as-is. This usually works ok, as long as all your developers are either on Linux or all on Windows.

所以这里我们就暂时把这个autocrlf改成false,问题解决hhh

add之后可以通过 git status来查看 缓存的信息,这里查看的其实就是有没可以commit到本地分支的内容

然后下一步就是用命令                git commit -m "代码提交信息"

这一步是实际提交更改到本地仓库的分支中,也就是head中。

然后就出现了这个提示,tell me who you are    这是因为你在创建git版本库的时候信息不完整引起的,这里你就按照它的要求设好global的username和email就好。(其实这一步应该在git init创建git版本库就要干了)

然后就能正常 地commit了

6.push代码到远程仓库:

这一步就是把我们的本地分支masterpush到远程仓库上。   用到的命令是:git push origin master     $ git push <远程主机名> <本地分支名>:<远程分支名>

这里有个问题,就是刚刚在coding新建repository的时候选了生成README.md,这就意味着远程仓库是非空的,然后就会出现一些问题,这里我们慢慢走一下过程

  先是直接push:

  哦这里提一下,第一次用ssh地址进行clone或者push操作的时候,会有这个ssh确认的警告,这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自Git的服务器,输入yes回车即可。

  Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
    Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
  这个警告只会出现一次,后面的操作就不会有任何警告了。

  然后就看到它报错什么Update were rejected 因为远程仓库有你本地没有的东西,嗯就是我上面说的README.md应该,然后下面也提示了如果是第一次想一体化仓库,那么就要先pull,

  pull:   这里有个注意的是,你pull一回车,就进入了个vim的编辑状态,然后这个时候有两个命令可以做,

  然后再执行push命令就可以了

  

最后总结一下几个 比较常用的命令:

git init //版本库初始化,新建版本库
git status //查看可以commit到本地分支master也就是head的更新
git add . //添加所有更新的内容到缓存区stage
rm-rf .git//直接删除这个版本库
git remote add origin <server> //与远程服务器的仓库建立连接
git commit -m "代码提交信息" //提交stage中的更改到本地分支
git push origin master //将本地的master分支提交到远程仓库,origin是远程连接仓库的名字
git pull origin master //将origin库的东西下拉到本地的master分支上

补充几个add命令:

1.  git add -A   保存所有的修改

2.  git add .     保存新的添加和修改,但是不包括删除

3.  git add -u   保存修改和删除,但是不包括新建文件。

还有总结一下几个参考的博客:

https://blog.csdn.net/qq_22337877/article/details/73249912  ——讲git工作去缓存区的知识

http://www.runoob.com/manual/git-guide/   ——讲git的一些简单命令还有简单使用介绍,界面挺好看hhh

https://coding.net/help/doc/account/ssh-key.html——讲关于ssh公钥的配置问题

项目用Git上传到coding的更多相关文章

  1. create-react-app创建项目并用git上传至GitHub及展示预览效果

    1.在本地中创建一个项目所在的文件夹 2.npm -g create-react-app 3.在此文件夹下 create-react-app react-demo (项目名) 4.cd react-d ...

  2. 如何把项目通过git上传之github完整教程

    作为一个有追求的程序员,需要撸点自己的开源项目,虽然我现在只是在学着造轮子,但这并不影响我成为大神的心.Github是基于git实现的代码托管,很多程序员在上面托管自己的开源项目,我使用Github也 ...

  3. Android Studio项目用Git上传至码云(OSChina)

    工具: Git安装(官网下载,默认安装即可). 步骤一: 新建一个Android Studio项目: 步骤二: 申请OSChina账号.登陆并创建新项目 1. 2. 3.点击复制,下面在Android ...

  4. 对于运用git将本地文件上传到coding总结

    首先需要在你的本地磁盘下建立一个目录,并且进入该目录. 前几次课程上有讲到&的用法,&&表示并且. 命令 ”makir 文件名 && cd 文件名”,cd指进入 ...

  5. git上传项目代码到github

    参考: git学习——上传项目代码到github github上传时出现error: src refspec master does not match any解决办法 git 上传本地文件到gith ...

  6. 第一次使用Git上传本地项目到github上

    对于程序原来说都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术.因为自己在刚刚开始使用Git把自己写的一些小dome放到GitHub上遇到许多的坑,这么长时间过去了,想对第一次使用 ...

  7. 使用git上传项目到GitHub上

    之前的博客有<使用git拉取GitHub上的项目>的文章,那么现在说一下,如何上传项目到GitHub上. 1. Git的.gitignore 文档配置 因为项目中可能有很多的图片还有nod ...

  8. 利用git把本地项目传到github+将github中已有项目从本地上传更新

    利用git把本地项目传到github中 1.打开git bash命令行,进入到要上传的项目中,比如Spring项目,在此目录下执行git init 的命令,会发下在当前目录中多了一个.git的文件夹( ...

  9. git 上传项目到仓库

    git 上传项目到仓库 第一步:建立仓库! 1.create new repository! 创建时最好选择 init (Initialize this repository with a READM ...

随机推荐

  1. 使用grunt中遇到的问题

    1.使用jshint进行代码检查时,grunt命令后报错: 因为出现了乱码,我猜测是因为编码原因导致的.遂在webstorm的setting中修改了编码为utf-8,问题解决.

  2. codeforces 701C C. They Are Everywhere(尺取法)

    题目链接: C. They Are Everywhere time limit per test 2 seconds   memory limit per test 256 megabytes inp ...

  3. hdu-5666 Segment(俄罗斯乘法or大数乘法取模)

    题目链接: Segment Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) P ...

  4. Numpy中的flatten是按照什么方式进行工作。

    a = [[[1,2],[3,4]],[[5,6],[7,8]]] a = np.ndarray(a) array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) type ...

  5. AndroidManifest中的Intent-filter标签

    经过测试,intent-filter标签中的: 1. <action android:name="android.intent.action.MAIN" /> 代表这是 ...

  6. c++11 右值引用和移动语义

    什么是左值.右值 最常见的误解: 等号左边的就是左值,等号右边的就是右值 左值和右值都是针对表达式而言的, 左值是指表达式结束后依然存在的持久对象 右值是指表达式结束时就不再存在的临时对象区分: 能对 ...

  7. 12306.cn网站自动登录器源代码

    去年过年放假的时候写了一个12306.cn网站的自动登录器,刚好那时候放假了,所以没把源代码放出来,现在将代码发出来,由于编写得比较仓促(从放假的下午19:00左右到晚上到00:00左右),很多细节问 ...

  8. docker --help 详解

    [root@c1 _src]# dockerd --help Usage: dockerd [OPTIONS] A self-sufficient runtime for containers. Op ...

  9. Union All ,Merge,Merge join 区别

    本文转自:http://www.cnblogs.com/gudujianxiao/archive/2012/07/17/2594709.html SSIS Data Flow 中有几个组件可以实现不同 ...

  10. ECharts使用问题

    Echarts官网上给的例子,在最后有一个分号. 使用ajax请求,在eval()转化时出现错误,原因就是因为多了一个分号