zoukankan      html  css  js  c++  java
  • Git教程--by马

    Git用法指南

     

    本地仓库

    • 查看Git配置选项
    git config -l (--list)
    • 全局配置
    git config --global user.name "your name"
    git config --global user.email "your_email@youremail.com"
    • 创建本地仓库,在项目目录中执行:
    git init
    • 将项目文件加入到本地仓库
    git add .
    • 提交文件到本地仓库
    git commit -m'some message'
    • 查看仓库状态
    git status
    • 查看当前仓库分支
    git branch
    git branch -r #-r查看远程分支
    git branch -a #-a查看所有分支
    • 创建分支tmp
    git branch tmp
    • 签出(切换到)某个分支
    签出到tmp分支下,-b表示如果分支tmp不存在,将会创建tmp分支,并同时切换到tmp分支
    git checkout [-b] tmp
    • 在当前分支下合并其他分支
    git merge tmp
    • 删除本地某分支
    git branch -d tmp

    远程仓库

    以github.com作为远程仓库为例。

    • 如果已有远程仓库,或创建远程仓库时初始化了仓库(比如使用README.md文件初始化远程仓库),则直接在本地clone远程仓库代码,不必在本地使用git init。
    git clone https://github.com/yourUserName/RepoName.git [project-name]
    或
    git clone git@github.com:yourUserName/RepoName.git [project-name]

    默认clone命令只会在本地建立master分支,远程即使有其他分支,也不会在本地创建对应的分支。如果克隆指定的分支,比如仅克隆dev分支,请使用:

    git clone -b dev git@github.com:yourUserName/RepoName.git [project-name]
    • 如果需要将本地代码放到远程仓库,则先在github.com建立空仓库。然后在本地仓库创建与远程仓库的联系:
    git remote add origin git@github.com:yourName/RepoName.git
    或
    git remote add origin https://github.com/yourUserName/RepoName.git
    • 推送本地文件到远程仓库
    添加远程仓库后的第一次推送:git push –u origin master
                  之后的推送:git push origin master

    如果在clone远程仓库时,origin/dev分支已经存在于远程仓库

    #这会在本地建立并切换到dev分支,同时会建立和远程dev分支的关联
    git checkout -b dev origin/dev 
    
    #如果远程有更新,取回远程分支的更新到本地仓库(仅仅是取回)
    git fetch origin dev
    
    #查看本地dev分支和远程dev分支的不同之处,虽然更新已取到本地,但是要读取所取回的更新,要使用origin/dev的形式
    git diff origin/dev
    
    #将远程的dev分支更新合并到本地dev分支,在dev分支下执行
    git merge origin/dev

    如果在clone远程仓库时,origin/dev分支不存在于远程仓库,而是后来在远程建立的分支

    #直接使用fetch获取远程的更新到本地仓库
    git fetch origin dev
    
    #建立本地dev分支并切换到dev分支,同时远程分支的关联
    git checkout -b dev origin/dev
    
    #如果需要,将远程的dev分支更新合并到本地dev分支,在dev分支下执行
    git fetch origin dev
    git diff origin/dev
    git merge origin/dev
    • 删除远程某分支
    git push origin :branch_name #注意origin后的空格
    • 删除本地对该远程分支的track
    git branch -r -d origin/branch_name
    • 删除本地仓库文件,并同步到远程仓库
    rm <file>
    git rm <file>
    git commit
    git push

    配置密钥

    如果采用SSH方式,要将本地代码推送(push)到远程仓库,或从远程仓库获取代码,需要在本地生成密钥并在远程配置密钥。 在Mac/Linux/Unix中,在当前用户目录下,执行

    ssh-keygen
    或
    ssh-keygen -t rsa -C "your_email@somehost.com" (your_email@somehost.com是远程仓库注册用的用户名)

    在Windows下,使用Git Bash,执行以下命令:

    ssh-keygen -t rsa -C "your_email@somehost.com"

    如果提示你输入key的名称,输入如id_rsa。将在C:Documents and SettingsAdministrator下产生两个文件:id_rsa和id_rsa.pub。把4中生成的密钥文件(id_rsa)复制到C:Documents and SettingsAdministrator.ssh 目录下。

    然后将生成的公钥文件id_rsa.pub的内容,保存到远程仓库的SSH Keys设置当中。

    其他介绍

     

    Git配置文件说明

    Git配置文件通常有三级:

    • 仓库级:是当前项目目录下的.git目录中的config文件。
    • 用户全局级:是当前用户目录下的.gitconfig文件。
    • 系统级:一般是Git安装目录的etc目录中的gitconfig文件。

    Git会先读取系统级的配置,再读取用户的全局配置,最后读取仓库级的配置,后续读取的配置会覆盖前面读取的配置,因此Git各项配置的优先级体现为:仓库>全局>系统。

    Github创建新仓库后的提示用法

    create a new repository on the command line

    echo # datacenter >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin https://github.com/nengteam/datacenter.git
    git push -u origin master

    …or push an existing repository from the command line

    git remote add origin https://github.com/nengteam/datacenter.git
    git push -u origin master

    Git常用网站

  • 相关阅读:
    链表
    求最大子串
    【JavaScript】7-23 币值转换 (20分)
    【JavaScript】7-22 龟兔赛跑 (20分)
    【JavaScript】7-21 求特殊方程的正整数解 (15分)
    【JavaScript】7-20 打印九九口诀表 (15分)
    【JavaScript】7-19 支票面额 (15分)
    【JavaScript】7-18 二分法求多项式单根 (20分)
    【JavaScript】7-17 爬动的蠕虫 (15分)
    【JavaScript】7-16 求符合给定条件的整数集 (15分)
  • 原文地址:https://www.cnblogs.com/zygxfx/p/5333591.html
Copyright © 2011-2022 走看看