小白鼓捣GIT的心得

这篇文章写给那些之前没接触过git的开发人员,算是一个参考吧,希望能有所帮助,我也会尽量写的详细。

今天刚开通了博客,趁着兴致,想着把积累已久的git问题也一并搞懂吧,于是乎吃完饭开始鼓捣,从下载GIT,到最终把第一个项目push到远程仓库,其中还是有些东西要注意的,不然一个对方没对,就会失败。

一开始,我在接轨国际的GITHUB和国产的码云的选择上想了半天,最终选择了oschina,可能是因为看到满屏的英文就满头黑线吧。

不开玩笑了,下面进入整体,一个从没接触过git的初学者要上传项目到远程仓库总共有下面几个步骤:

1.下载git:

各操作系统方法都不一样,这里说一下windows系统,去官网下载windows版本的git,如果不懂的话就一路next,安装完之后,再开始菜单打开Git Bush,输入git --version,出现类似于

git version 2.5.0

的信息说明安装成功。

2.在码云上注册一个账户,然后新建一个项目。

3.告诉git你是谁,你的邮箱地址。

在git bash命令行输入:

git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"

4.在本地创建项目仓库。

打开git bash命令行,cd 进入想要上传到远程仓库的项目目录,然后输入

git init 

5.生成SSH公钥

在git bash命令行输入:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
cat ~/.ssh/id_rsa.pub

把获取到的公钥复制粘贴到记事本,删除多余的空格之后,复制。

6.在码云上添加一个SSH公钥,把刚才的东西粘贴进去。

7.与远程仓库进行链接

在git bash 命令行输入:

git remote add origin <你的项目地址> //注:项目地址形式为:http://git.oschina.net/xxx/xxx.git或者 git@git.oschina.net:xxx/xxx.git

8.完成第一次提交

进入项目目录,然后输入:

git pull origin master -f
git add .
git commit -m "XXXX"//提交
git push origin master

9.完工,庆祝。

注意:以上操作仅适用于第一次上传项目。

--------------------------------------------------------------------分割线-----------------------------------------------------------------------------------

时隔多年我又回来了!

好吧我承认这篇文章写得问题百出,有点不太好意思误导大家,所以我打算写一篇完整一点的GIT方案出来,争取能够帮到大家解决开发中遇到的大部分git问题。

场景

一般在开发中使用到git有两种情况,一种是已经在远程仓库建好项目了,我们开发者从远程仓库克隆项目下来,进行开发;还有一种想把本地的一个没有用到GIT的项目,扔到远程仓库去,不管是为了让自己能够多地开发,亦或是为了让多人协作开发。

第一种场景:远程仓库已经有项目了,我们要参与协同开发,那么可以走以下几个步骤:

1、克隆项目

git clone <项目地址>

2、查看远程分支

git remote -vv

会发现本地分支已经默认关联好远程分支了,无需进行其他操作。

3、创建本地分支并且关联远程分支

一般clone下来的并不是你想要的那个分支,那么你可以先用命令看一下远程分支有哪些:

git branch -a

然后创建本地分支并且关联远程分支:

git checkout -b <本地分支> origin/<远程分支>

4、拉取分支最新内容(若有冲突则解决)

git pull

5、提交到远程仓库

git push

第二种场景:远程新建一个空的仓库,将本地代码提交到远程空仓库中,那么可以走以下几个步骤:

1、新建远程仓库

这里不再做详细介绍了,各个网站大致都一样。

2、创建本地仓库

git init

3、本地仓库关联远程仓库

git remote add origin <远程仓库地址>

4、本地分支关联远程分支

旧版写法:git branch --set-upstream <本地分支> origin/<远分支> 
新版写法:git branch --set-upstream-to=origin/<远程分支> <本地分支>

如果提示:本地没有master分支,那就创建master分支

git checkout master

这里关联分支的方式还有一种,那就是

git pull origin <远程分支> -f,git push -u origin <远程分支>
如果pull的时候报错:fatal: refusing to merge unrelated histories
说明两个仓库的版本相差过大,可以用下面的语句pull:
git pull origin <远程分支> --allow-unrelated-histories
解决冲突后,继续提交就行。

5、拉取远程仓库的最新代码至本地仓库(若有冲突则解决)

git pull

6、提交到远程仓库

git push

一些非常有用的git指令

git branch:查看本地分支,结果中前面带*的代表当前分支

git branch -a:查看所有分支,包含本地分支和远程分支

git branch -vv:查看本地仓库和远程仓库的关联关系,以及最新一次的提交记录

 

先写到这吧,后面有想到的会再补充。

posted on 2017-01-09 22:51  little天  阅读(375)  评论(0编辑  收藏  举报

导航