Git?本地项目上传至托管平台(OsChina/GitHub)

Posted 一起学习_Program

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git?本地项目上传至托管平台(OsChina/GitHub)相关的知识,希望对你有一定的参考价值。


为了方便自己的代码管理,通常是把自己的写的一些小项目分享到GitHub 或者git.oschina上面!

区别:

 GitHub 只能创建公开的项目,国外的,速度慢!

git.oschina 开源中国的代码托管平台,可建私有的,国内的,速度快!
一,准备工作:

Git 客户端安装:下载git 客户端,并安装!

附:下载地址:git客户端 ,安装教程!

在oschina/GitHub创建账号并创建项目!

 

然后,就得到了远程仓库的url:

https://git.oschina.net/ut2002/WebViewSSL.git

 

 

二,Git操作流程:(以oschina平台为例,github等同)

Git项目:git@github.com:用户名/项目名.git

OsChina项目:git@oschina.net:用户名/项目名.git

方法一:本地创建项目根目录(本地仓库),然后与远程oschina关联!

-- 初始化Git仓库 :git init ; //新建一个本地仓库

-- 添加文件 :git add ./*  //将目录中所有文件添加;

-- 提交改变到缓存 :git commit -m \'description\' ;

-- 本地git仓库关联Git仓库 :

git remote add origin https://git.oschina.net/ut2002/WebViewSSL.git ;

// 添加远程仓库,origin只是一个远程仓库的别名,可以随意取

 

-- 提交到Git仓库前先更新远程仓库内容至本地 : git pull origin master ;
// 防止远程仓库,有更新而产生冲突

 

-- 提交到Git : git push -u origin master ;

//将本地仓库push远程仓库,并将origin设为默认远程仓库

 

在本地项目中右键进入git 命令行模式

 

 

 

然后,按上面的步骤进行操作!

 

 

 

 

输入 账号与密码,进行上传!

但是报错如下:

 

根据提示先pull

 

 

这是因为期间远程仓库有可能有更新,提示在push前因先把远程仓库的代码更新到本地,才能push!

Git pull origin master

 

 

上传成功!

注意:有时有开分支开发时,需要合并分支至master,

输入命令git merge gh-pages(分支名) 报错! fatal:refusing to merge unrelated histories.

原因是合并不相关的会产生新的历史记录,所以应该这样

git merge gh-pages --allow-unrelated-histories

方法二:不用关联远程仓库,直接从git仓库拉源码至本地!

-- Git仓库拉项目到本地 :git clone https://git.oschina.net/ut2002/HelloDemo.git , 注意克隆 的时候直接在仓库根目录即可不用再创建项目根目录 ;

拉下来的项目会自动生成 .git文件,表明,是个git仓库,不用git init来初始化!

-- 添加文件 :git add ./* , 将目录中所有文件添加;

-- 提交缓存 :git commit -m \'description\';

-- 合并 master :git merge master;

-- GitHub远程仓库同步 :git pull 远程仓库地址 ;

-- 提交到远程GitHub仓库 : git push 远程仓库地址 master ;

之后修改提交 : 

-- GitHub远程仓库同步 :git pull ;

-- 查看文件变更 : git status ;

-- 提交代码到本地缓存 : git commit -m \'description\';

--提交代码到远程GitHub仓库 :git push ;

 

图文步骤:

在要建立本地仓库的文件中进入git命令行模式:如方法一 进入git命令行模式

 

 

从远程仓库 clone下项目,然后就会在命令行的目录下生成.git文件!

 

如在git pull 报错:

 

 

错误可能是因为在你以前pull下来的代码没有自动合并导致的.

保留你本地的修改  git merge --abort   git reset --merge

合并后记得一定要提交这个本地的合并,然后在获取线上仓库!再git pull!

如在 git add --all 报错

 

 

原因分析:

在windows中的换行符为 CRLF, 而在linux下的换行符为:LF

使用git来生成工程后,文件中的换行符为LF, 当执行git add .时,系统提示:LF 将被转换成 CRLF

解决方法: 

删除刚刚生成的.git文件

 rm -rf .git  

  git config --global core.autocrlf false  

这样系统就不会去进行换行符的转换了

最后重新执行

Git init 再 git add --all

就按正常步骤操作!

如 git push 报 : error:src refspec master does not match any

原因分析

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决方法

touch READMEgit add README git commit -m \'first commit\'git push origin master

 

方法三:用Git Gui图形化界面来操作!

- - 创建 Create New Repository

 

 

Create New Repository  : 创建新的版本库

Clone Existing Repository :克隆存在的版本库

Open Existing Repository :打开存在的版本库

 

 

 

 

 

如本地目录没有源文件,可以把源文件拷贝至目录下!

----提交本地文件至git仓库

 

确定后

 

 

 

 

填写提交描述信息

 

 

 

然后填写远程仓库地址

 

输入账号与密码成功!

 

 

----从git仓库clone项目,再提交

选择克隆新的版本库然后Clone git项目

 

 

注意:本地目录需是没有存在的目录,不然会报已存在,因为clone下来会自动创建

 

 

 

因为项目文件没有任何改动,所以显示的是空白!

 

 

可通过,clone任一开源项目地址,再push自己的远程仓库,这样,实现下载开源项目,修改,学习,再push至自己的远程仓库,来记录自己学习的过程!!!很方便滴!!

 

三种方法,比较推荐用Git Gui这样的方式 ,能减少出错!!

 

附二,简单教程

 

 

 

附 git分支开发原则:

将自己项目上传至git(码云)进行远程托管

将本地仓库上传至远程Git仓库

使用git将本地项目上传至git仓库

git-将本地项目上传至github库

Git+本地项目上传至gitlab

如何将本地项目上传至GitHub