Git 相关操作

来源:互联网 发布:java字符串编码转换 编辑:程序博客网 时间:2024/06/05 00:24
  • git: ssh: connect to host localhost port 22: Connection refused   的问题




    因为gitlab上要Git pull或者git clone,但是每次都出现这个问题。之前偶尔出现这个问题,但是只是偶尔,这是为什么呢?然后就开始搜索网上的解决方案了。

    这个问题搜索网上很多答案,但是试过去都不行。

    第一个是说openssh-server没有安装,因为我的电脑是mac,ps -e |grep ssh已经看到安装并且运行了。但是还是不行;

    第二个方案说的是新建~/.ssh/config然后输入几行代码,这个也不行;

    最后实行要崩溃了才发现我的clone链接是:git@xxxxx:xxxxxxx/xxxxxxxxx.git这种类型的,我之前用的都是http://开头的,所以就试了一下:http://xxxx/xxxx/xxxxx.git这种类型的链接,果然成功了,没有出现:ssh: connect to host localhost port 22: Connection refused了。

    其中的原因可以看git的原理,有几种协议可以为git url,公司内网或者防火墙问题可能使得我不能使用:git@xxxxx:xxxxxxx/xxxxxxxxx.git这种形式,不过我先用外网试验再说吧,高手可以教教我,我还是git亲手……

    Git URL可能以ssh://, http(s)://, git://,或是只是以一个用户名(git 会认为这是一个ssh 地址)为前辍. 

    而我之前用的链接是什么忘了,可能是混着用,所以偶尔出现这个问题。








、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

Command line instructions

Git global setup

git config --global user.name "yuhaiming"

git config --global user.email "227546781@qq.com"




Create a new repository

git clone git@211.149.168.208:yuhaiming/test.git

cd test

touch README.md

git add README.md

git commit -m "add README"

git push -u origin master




Existing folder or Git repository

cd existing_folder

git init

git remote add origin git@211.149.168.208:yuhaiming/test.git

git add .

git commit -m”注释

git push -u origin master



/////////////////////

Ssh 不行 就是试试 http 一定行

/////////////////////


、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、


  • 新建一个远程的仓库(空的)

新建一个远程仓库
  • 设置远程仓库的名字,并创建

设置仓库名

切记:如果我们在创建远程仓库的时候添加了README和.ignore等文件,我们在后面关联仓库后,需要先执行pull操作

  • 在本地创建一个本地的文件夹


    在本地创建一个文件夹
  • 利用终端进入当前的文件夹目录

    cd /Users/Sunshine/Documents/大神班/练习/0721/helloTest

    用终端进入这个文件夹
  • 初始化这个本地的文件夹为一个Git可以管理的仓库
    git init
    注意:Git会自动为我们创建唯一一个master分支
    我们能够发现在当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

初始化本地的仓库
  • 将本地的仓库和远程的仓库进行关联
    git remote add origin git@github.com:YotrolZ/helloTest.git
    备注:origin就是我们的远程库的名字,这是Git默认的叫法,也可以改成别的;
    git@github.com:YotrolZ/helloTest.git是我们远程仓库的路径(这里我们使用的github)

将本地的仓库与远程的仓库进行关联
  • 这样我们就可以开始在本地的文件夹中做事了,这里我们先创建一个main.m文件

    • 新建文件

      touch main.m
    • 将新建的main.m文件添加到仓库(这样git就会追踪这个文件)

      git add main.m
    • 把文件提交到仓库

      git commit -m "新建了一个man.m文件"

在本地仓库新建一个main.m文件
  • 把本地库的内容推送到远程
    git push -u origin master
    • 备注:origin:远程仓库名字; master:分支
    • 注意:我们第一次push的时候,加上-u参数,Git就会把本地的master分支和远程的master分支进行关联起来,我们以后的push操作就不再需要加上-u参数了

push到远程的仓库
  • 我们用浏览器进入远程仓库中查看,发现远程仓库中也出现了mian.m文件

    远程仓库中也有了一个main.m文件
  • 假如某天我们又对mian.m文件进行了修改(这里我们在main.m文件里面添加了一句"hello world")

    修改main.m文件
  • 我们可以利用git status查看状态

    查看状态
  • 将文件添加到Git版本库,实际上就是把文件修改添加到暂存区

    git add main.m
  • 提交修改,实际上就是把暂存区的所有内容提交到当前分支


    提交修改
  • 再次查看状态
    git status

    再次查看状态
  • 把本地当前分支的最新修改推送至GitHub上的远程仓库
    git push origin master

    将修改后的main.m文件push到远程仓库
  • 利用浏览器在远程仓库查看,我们看到已经将本地上的修改推送到远程仓库了

    在远程仓库中查看

总结

  • 初始化一个本地Git仓库(把本地的文件夹初始化成一个Git可以管理的版本库)

    git init

    注意:需让命令行终端处在当前文件目录

  • 把文件添加到本地版本库

    git add 文件名
  • 把文件修改提交到仓库

    git commit -m "注释"
  • 关联一个远程仓库

    git remote add origin git@github.com:YotrolZ/helloTest.git
  • 将最新的修改推送到远程仓库

    git push -u origin master
    • 注意:
      1.每次push前要先进行git add 文件名git commit -m "注释"
      2.在第一次进行push时,我们加上-u参数,后期push时就不用再加-u参数


作者:YotrolZ
链接:http://www.jianshu.com/p/dcbb8baa6e36
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原创粉丝点击