git的使用(六)

10.远程仓库

---------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------

环境:使用自己搭建的gitlab远程仓库,如何搭建仓库?请点击搭建远程仓库gitlab

本地仓库端:(windows下Git Bash)

  在本地创建ssh密钥对

$ ssh-keygen -t rsa -C "[email protected]"      #创建ssh密钥对,一路enter
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
/c/Users/Administrator/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:X98ep2jnIQ0Rn/sPekQysligGFqWQo36xXLuJh7g4Ro [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+
| ..o .      .    |
|  o *   .    o . |
| . * o . .  . o  |
|. o = .   o o... |
|.o =    So oo+.  |
|o.o .   .... +.o |
|Eo..      . ..=.+|
|....o       .+o=+|
|...o       .o+o o|
+----[SHA256]-----+

查看创建的密钥对:

$ cd ~                                   #进入到用户主目录
$ pwd                                    #创建的密钥对的路径
/c/Users/Administrator

$ ls -al
total 5699
drwxr-xr-x 1 Administrator 197121       0 3月  27 06:54 ./
drwxr-xr-x 1 Administrator 197121       0 1月  25 10:55 ../
drwxr-xr-x 1 Administrator 197121       0 2月   4 23:56 .android/
drwxr-xr-x 1 Administrator 197121       0 3月  23 09:02 .eclipse/
-rw-r--r-- 1 Administrator 197121      69 3月  27 06:54 .gitconfig
drwxr-xr-x 1 Administrator 197121       0 3月  23 09:03 .m2/
drwxr-xr-x 1 Administrator 197121       0 2月   1 13:43 .oracle_jre_usage/
drwxr-xr-x 1 Administrator 197121       0 3月  24 01:27 .p2/
drwxr-xr-x 1 Administrator 197121       0 3月  26 06:17 .ssh/                    #创建的.ssh密钥对目录

$ cd .ssh                                #进入.ssh密钥对目录

$ ls                                     #查看密钥对id_rsa  id_rsa.pub  known_hosts          #将id_rsa.pub中的内容拷贝,用于粘贴到远程仓库ssh密钥对中。

在远程仓库web界面中粘贴密钥对

创建远程仓库:

远程仓库建立好之后 在仓库建立的下面有一排提示:

意思是将本地的仓库上传到远程仓库的操作。

-----------------------------------------------------------准备开始上传本地仓库到远程仓库-----------------------------------

$ git remote add origin [email protected]:lhb/demo.git              #在本地的git仓库登记远程仓库名origin和地址[email protected]:lhb/demo.git

$ git push -u origin master                                  #将本地仓库的代码推送到 远程仓库(注意!注意!注意!第一次推送都要加上 -u)
The authenticity of host ‘ubuntu (192.168.123.128)‘ can‘t be established.
ECDSA key fingerprint is SHA256:+Td4IWXk0C4R9jTZLi4u6az0FQ74EFZGNVETzKzYtL8.
Are you sure you want to continue connecting (yes/no)? yes                     #因为使用的是ssh协议,第一次要验证gitlab服务器的指纹
Warning: Permanently added ‘ubuntu,192.168.123.128‘ (ECDSA) to the list of known hosts.  #提示:已经将gitlab服务器加入到一个可信任列表
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (19/19), 1.47 KiB | 0 bytes/s, done.
Total 19 (delta 4), reused 0 (delta 0)
To [email protected]:lhb/demo.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

----------只要在本地注册了远程仓库-----------以后推送就用git push origin master

为什么推送本地仓库到远程仓库要加一个参数 -u 以后推送就不用加了呢?

###########################################################################################
git push -u origin master   [origin表示远程仓库  master代表本地仓库的master分支]
原意是:git push master            推送本地仓库的mater分支,但是推送到哪没有说
    git push origin master     推送本地仓库的mater分支到origin分支
    git push -u origin master  推送本地仓库的mater分支到origin分支,并在本地仓库中注册远程仓库origin       -u = up-stream
肯定会问
注册的地方在哪呢?
在本地仓库有个config文件内
[remote "origin"]
    url = [email protected]:lhb/demo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
##############################################################################################

从远程仓库中克隆project到本地:

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

git clone  [email protected]:lhb/demo.git

-----------------------------------在push本地仓库到远程仓库的时候的问题-------------------------------------

GIT问题,error:src refspec master does not match any

$ git push -u origin2 master
error: src refspec master does not match any.
error: failed to push some refs to ‘[email protected]:lhb/quick4j.git‘

需要知道的理论: 本地版本库为空, 空目录不能提交 (只进行了init, 没有add和commit)

解决方案:

$ git add -f *       #将所有的文件都提交到暂存区

$ git  commit -m "add quick4j project"   #将暂存区的文档提交到.git本地仓库

$ git push -u origin2 master             #提交代码到远程仓库,之前给远程仓库取得名字是origin2Counting objects: 4262, done.Delta compression using up to 4 threads.Compressing objects: 100% (4017/4017), done.Writing objects: 100% (4262/4262), 80.23 MiB | 6.67 MiB/s, done.Total 4262 (delta 1394), reused 0 (delta 0)To [email protected]:lhb/quick4j.git * [new branch]      master -> masterBranch master set up to track remote branch master from origin2.

  

时间: 2024-10-14 05:17:41

git的使用(六)的相关文章

Git 基础(六)—— 工作区和暂存区与 Git 对修改的管理

工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的 learngit 文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是 Git 的版本库. Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫index)的暂存区,还有 Git 为我们自动创建的第一个分支 master,以及指向 master 的一个指针叫 HEAD. 前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步

GIt 从入门到放弃

一.注册github账号 github网址https://github.com/ 下一步 然后,你的邮箱会收到一封邮件,进行邮箱验证就行了 二.创建github仓库 登录你的github,在首页的右方可以看到下图所示(我已经创建过项目了,没有创建过项目的显示有点不一样,但是都是这个按钮) 下一步 创建好了,如下图所示 三.配置SSH keys 首先要安装git(下载地址https://www.git-scm.com/download/) 新建一个文件夹(例如workspace,用来存放你所有的项

Git和Github简单教程(转)

这篇文章只挑一部分命令来讲,差不多够用就行的程度.如果需要其他命令,到时候再去其他地方了解就行了先在Github上写好再搬过来的:本文Github链接 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六.Github的其他介绍 七.一些可能碰到的问题 零.Git是什么 我才不告诉你嘞 一.Git的主要功能:版本控制 版本:想想你平时用的软件,在软件升级之后,你用的就是新版本的软件

git命令汇总

一.创建命令 1.克隆一个git仓库 git clone 地址 2.建立一个新的本地git仓库 git init 二.本地修改命令 1.查看仓库当前状态 git status 2.查看文件与上一个版本的差异 git diff 3.将修改加入暂存区 git add xxx 4.提交暂存区文件 git commit –m "说明" 三.查看提交历史 1.查看所有的提交历史 git log 2.查看某一文件的提交历史 git log –p <file> 3.查看每一个命令 git

git 实用技巧

一.git 常用操作 1.1 // 该方法会显示某次提交的所有更改 git log --pretty=oneline 文件名 git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e 1.2 git log filename //可以看到fileName相关的commit记录 git log -p filename //可以显示每次提交的diff git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b file

【转】如何在Git中撤销一切

翻译:李伟 审校:张帆译自:Github 任何一个版本控制系统中,最有用的特性之一莫过于 “撤销(undo)”操作.在Git中,“撤销”有很多种含义. 当你完成了一次新的提交(commit),Git会及时存储当前时刻仓库(repository)的快照(snapshot):你能够使用Git将项目回退到任何之前的版本. 下文中,我将列举几个常见的.需要“撤销”的场景,并且展示如何使用Git来完成这些操作. 一.撤销一个公共修改 Undo a "public" change 场景:你刚刚用g

git初级--配置

source: http://www.cnblogs.com/sakurayeah/p/5800424.html 一.注册github账号 github网址https://github.com/ 下一步 然后,你的邮箱会收到一封邮件,进行邮箱验证就行了 二.创建github仓库 登录你的github,在首页的右方可以看到下图所示(我已经创建过项目了,没有创建过项目的显示有点不一样,但是都是这个按钮) 下一步 创建好了,如下图所示 三.配置SSH keys 首先要安装git(下载地址https:/

git 入门第一节 创建版本库 及 相关命令使用

Git是目前世界上最先进的分布式版本控制系统 1.创建版本库 例如我要在C:\Program\www下面创建文件夹30edu 第一步找目录 cd c:/program/www/ (下面的命令为分布查找) cd c: cd program/ cd www/ 第二步创建git文件 mkdir 30edu cd 30edu 此时 30edu 文件夹已经被创建好了. 第三步通过git init命令把这个目录变成个git可以管理的仓库 git init 第四步 编写文件并添加到git仓库 git add 

Git和Github简单教程

网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上.这篇文章主要的目标是用较少的时间学习Git和GitHub的基本使用.在足够一般使用的前提下,尽量减少命令.如果需要其他命令,到时候再去其他地方了解就行了. 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六.团队合作开发 七.Git