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常用网站
-
git官网:git-scm.com
-
github:www.github.com
-
bitbucket: www.bitbucket.org
-
gitosc:git.oschina.net
-
coding: www.coding.net