Git使用之码云的操作步骤

来源:互联网 发布:php static class 编辑:程序博客网 时间:2024/06/05 14:42

参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00150154460073692d151e784de4d718c67ce836f72c7c4000

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

git完整操作:

http://blog.csdn.net/javafreely/article/details/18217273

码云文档:http://git.mydoc.io/?t=180845


生成并部署SSH key

1.如何生成ssh公钥

你可以按如下命令来生成 sshkey:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  # Generating public/private rsa key pair...# 三次回车即可生成 ssh key

查看你的 public key,并把他添加到码云(Gitee.com) SSH key添加地址

cat ~/.ssh/id_rsa.pub# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

添加后,在终端(Terminal)中输入

ssh -T git@gitee.com

若返回

Welcome to Gitee.com, yourname!

则证明添加成功。

=====xcode中的操作:

https://my.oschina.net/zxs/blog/142544

本地初始化一个项目


首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中。

git config --global user.name "你的名字或昵称"(这里填写码云的用户名名,即登录邮箱)git config --global user.email "你的邮箱"

然后在你的需要初始化版本库的文件夹中执行:

//初始化本地仓库cd 本地目录git init //第一次你想推送一个本地代码库到远程代码库时,
git remote add origin <你的项目地址> //:项目地址形式为:https://gitee.com/xxx/xxx.git或者 git@gitee.com:xxx/xxx.git

这样就完成了一次版本你的初始化。

如果你想克隆一个项目,只需要执行:

git clone <项目地址>

完成第一次提交


进入你已经初始化好的或者克隆项目的目录,然后执行:

git pull origin master   (如果必行用这个
git pull --rebase origin master
)<这里需要修改/添加文件,否则与原文件相比就没有变动>//添加文件到本地暂存区git add .//提交到线上本地仓库git commit -m "第一次提交" //提交到远程仓库由于远程库是空的,我们第一次推送master分支时,加上了-u参数,(git push -u origin master) ,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。git push origin master

然后如果需要账号密码的话就输入账号密码,这样就完成了一次提交。

按照本文档新建的项目时,在码云平台仓库上已经存在 readme 文件,故在提交时可能会存在冲突,这时您需要选择的是保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令:

git push origin master -f

如果您选择保留线上的 readme 文件,则需要先执行:

git pull origin master

然后才可以推送,如果发生冲突,则需要先解决冲突,关于如何处理冲突

错误解决:

、命名版本

$ git push sae master:1 #将此次上传的代码命名为版本1

7、一会后出现"Username for 'https://git.sinacloud.com':",在冒号后输入码云的账号邮箱,然后提示输入密码:是码云的密码;

8、出现"Password for 'https://oldinaction@qq.com@git.sinacloud.com':",在冒号后输入SAE安全密码(有的git版本不会弹框,是看不到输入的哦),确认正确后回车,不要再动了,以免上传中断。

9、看到上传代码出现"Writing objects: 100%" ,则表示上传成功。

===========分支:

五部走:分支创建  ->  切换  ->  提交  ->  合并  ->  删除


1.先创建一个新分支提交改动


[objc] view plain copy


  1. $ git branch newbranch  


然后输入这条命令检查是否创建成功


[objc] view plain copy


  1. $ git branch  


这时终端输出


[objc] view plain copy


  1. newbranch  
  2. master  


这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。


[objc] view plain copy


  1. $ git checkout newbranch  


注:也可以使用下面的命令,相等于上面的两部;


[objc] view plain copy


  1. $ git checkout -b newbranch  


这样就切换完了,可以  $ git branch 确认下。然后你要将你的改动提交到新的分支上。 


[objc] view plain copy


  1. $ git add .  
  2. $ git commit -a  


此时可以  $ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。 


[objc] view plain copy


  1. $ git checkout master  


然后我们要将新分支提交的改动合并到主分支上


[objc] view plain copy


  1. $ git merge newbranch  


合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。


[objc] view plain copy


  1. $ git diff  


我们的问题就解决了,接下来就可以push代码了。


[objc] view plain copy


  1. $ git push -u origin master  


新建分支的朋友别忘了删除这个分支,不放心的话可以git branch查看下。


[objc] view plain copy


  1. $ git branch -D newbranch  


如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。


解决每次输入密码的问题:

https 方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受 https 带来的极速

设置记住密码(默认15分钟):

git config --global credential.helper cache

如果想自己设置时间,可以这样做:

git config credential.helper 'cache --timeout=3600'

这样就设置一个小时之后失效

长期存储密码:

git config --global credential.helper store

增加远程地址的时候带上密码也是可以的。(推荐)

http://yourname:password@gitee.com/name/project.git

补充:使用客户端也可以存储密码的。

如果你正在使用ssh而且想体验https带来的高速,那么你可以这样做: 切换到项目目录下 :

cd projectfile/

移除远程ssh方式的仓库地址

git remote rm origin

增加https远程仓库地址

git remote add origin http://yourname:password@gitee.com/name/project.git


处理代码冲突:

http://git.mydoc.io/?v=16912&t=83148

版本回退:

http://git.mydoc.io/?t=154703

Git 仓库的基本操作

1.修改仓库名

一般来讲,默认情况下,在执行clone或者其他操作时,仓库名都是 origin 如果说我们想给他改改名字,比如我不喜欢origin这个名字,想改为 oschina 那么就要在仓库目录下执行命令:

git remote rename origin oschina

这样 你的远程仓库名字就改成了oschina,同样,以后推送时执行的命令就不再是 git push origin master 而是 git push oschina master 拉取也是一样的

2.添加一个仓库

在不执行克隆操作时,如果想将一个远程仓库添加到本地的仓库中,可以执行

git remote add origin  仓库地址

注意: 1.origin是你的仓库的别名 可以随便改,但请务必不要与已有的仓库别名冲突 2. 仓库地址一般来讲支持 http/https/ssh/git协议,其他协议地址请勿添加

3.查看当前仓库对应的远程仓库地址

git remote -v

这条命令能显示你当前仓库中已经添加了的仓库名和对应的仓库地址,通常来讲,会有两条一模一样的记录,分别是fetch和push,其中fetch是用来从远程同步 push是用来推送到远程

4.修改仓库对应的远程仓库地址

git remote set-url origin 仓库地址

=============同时关联两个远程库:注意事项:origin要改名称

参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00150154460073692d151e784de4d718c67ce836f72c7c4000

项目名称最好与本地库保持一致:

然后,我们在本地库上使用命令git remote add把它和码云的远程库关联:

git remote add origin git@gitee.com:liaoxuefeng/learngit.git

之后,就可以正常地用git pushgit pull推送了!

如果在使用命令git remote add时报错:

git remote add origin git@gitee.com:liaoxuefeng/learngit.gitfatal: remote origin already exists.

这说明本地库已经关联了一个名叫origin的远程库,此时,可以先用git remote -v查看远程库信息:

git remote -vorigin    git@github.com:michaelliao/learngit.git (fetch)origin    git@github.com:michaelliao/learngit.git (push)

可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。

我们可以删除已有的GitHub远程库:

git remote rm origin

再关联码云的远程库(注意路径中需要填写正确的用户名):

git remote add origin git@gitee.com:liaoxuefeng/learngit.git

此时,我们再查看远程库信息:

git remote -vorigin    git@gitee.com:liaoxuefeng/learngit.git (fetch)origin    git@gitee.com:liaoxuefeng/learngit.git (push)

现在可以看到,origin已经被关联到码云的远程库了。通过git push命令就可以把本地库推送到Gitee上。

有的小伙伴又要问了,一个本地库能不能既关联GitHub,又关联码云呢?

答案是肯定的,因为git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。

使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。

仍然以learngit本地库为例,我们先删除已关联的名为origin的远程库:

git remote rm origin

然后,先关联GitHub的远程库:

git remote add github git@github.com:michaelliao/learngit.git

注意,远程库的名称叫github,不叫origin了。

接着,再关联码云的远程库:

git remote add gitee git@gitee.com:liaoxuefeng/learngit.git

同样注意,远程库的名称叫gitee,不叫origin

现在,我们用git remote -v查看远程库信息,可以看到两个远程库:

git remote -vgitee    git@gitee.com:liaoxuefeng/learngit.git (fetch)gitee    git@gitee.com:liaoxuefeng/learngit.git (push)github    git@github.com:michaelliao/learngit.git (fetch)github    git@github.com:michaelliao/learngit.git (push)

如果要推送到GitHub,使用命令:

git push github master

如果要推送到码云,使用命令:

git push gitee master

这样一来,我们的本地库就可以同时与多个远程库互相同步:



原创粉丝点击