关于这样的东西,网上不少教程,这里就结合本身看的还有本身的例子来讲明一下吧:html
1.你得下载一个git软件并成功安装linux
2.生成ssh:git
关于这个,我以为彷佛不是必定的,由于经过https也能够链接到coding的远程仓库,可是用ssh可让你在之后的push都不用输入密码。github
(还有种输入密码的方式):vim
而后coding官网讲这个ssh的讲得仍是蛮详细的,配的时候能够在这里看:https://coding.net/help/doc/account/ssh-key.html(这篇博客讲得不错)windows
这里就大概讲一下过程:缓存
生成公钥:打开命令行终端输入 ssh-keygen -t rsa -C "your_email@example.com"( 你的邮箱),连续点击 Enter 键便可。bash
复制公钥,用文本编辑器打开『id_rsa.pub』文件,复制所有内容。这个id_rsa.pub你在git的命令行那生成后就会告诉你路径,windows的话通常在用户的.ssh文件夹里面,还有一个id_rsa是密钥服务器
在coding中添加公钥:这里就不讲了,官网有很详细的介绍ssh
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公钥的配置问题