小白鼓捣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:查看本地仓库和远程仓库的关联关系,以及最新一次的提交记录
先写到这吧,后面有想到的会再补充。