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常用网站

原文地址:https://www.cnblogs.com/zygxfx/p/5333591.html