Git安装及常用命令介绍
在windows上安装Git
Git官网安装,选项默认。
菜单栏有:Git > Git Bash。即使安装成功。
然后你需要运行Git Bash,并且进行身份设置。
$ git config --global user.name "XXXXXXXX" $ git config --global user.email "XXXXXXXX"
因为Git是分布式版本控制器,所以,每个机器必须自报家门。
创建版本库
版本库又名仓库,英文名repository。被Git管理,修改、删除都能追踪历史,还能还原某个指定的文件状态。
在一个合适的地方,右键打开Git Bash。
$ mkdir XXXX // 创建文件夹 XXXX用英文 $ cd XXXX // 进入文件夹 $ pwd // pwd显示当前目录。
然后,通过 git init 命令将这个目录变成Git可以管理的仓库
$ git init // 初始化项目
把文件添加到版本库
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。建议下载Notepad++代替记事本,把Notepad++的默认编码设置为UTF-8 without BOM即可。
第一步:
$ git add readme.txt // 用git add告诉Git,把文件添加到仓库。文件跟踪
(这个文件提前已经建立好,并且在 初始化 的文件下)
$ git add . // 批量跟踪 . 是匹配所有文件,提交被修改的和新建的文件,但不包括被删除的文件
第二步:
$ git commit -m "写本次提交说明的地方" // git commit 最终提交给仓库 -m 方便知晓每次提交的意义d
$ git commit -am 'xxx' // 将所有已跟踪的文件暂存起来一并提交
// 成功后显示: 1 file changed // 一个文件被改动(我这里是添加了一个 .txt 文件) 2 insertions // 插入两行内容(这是因为我添加的 .txt 文件里有两行内容)
git add 可以多次 add 不同文件,像是一个暂缓区,(或者说先跟踪这些文件)
git commit 是最终确定一次提交很多文件给仓库。
回顾:
初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:
- 使用命令
git add <file>
,注意,可反复多次使用,添加多个文件; - 使用命令
git commit -m <message>
,完成。
远程仓库准备
第一步:创建SSH key。 C盘用户主目录下看看有没有.ssh目录,里面要是有id_rsa和id_rsa.pub这两个文件,可以跳过第一步,如果没有就创建。
$ ssh-keygen -t rsa -C "153415866@qq.com" // 自己的邮箱地址
然后一路回车默认值就行。
id_rsa是私钥,不能泄露。id_rsa.pub是公钥可以。
第二步:登入Github,点头像 => settings => SSH and GPG keys => New SSH key ,然后title任意填,在Key文本框里粘贴 id_rsa.pub 。
点击 Add SSH key 就可以了。
添加远程仓库:
先在Github上建立新的项目。
Your repositories => New => 填上仓库名字 然后确定。
开始本地推送:
这个时候还是空仓库,可以根据Github提示关联本地仓库。
git remote add origin git@github.com:chengzheng777/Gxiaomi.git
然后提交本地库推送:
$ git push -u origin master -u 指定一个默认的源
第一次使用Git 的clone 或者 push 连接Github 会有一个警告:
$ git push -u origin master The authenticity of host 'github.com (XX.XXX.XXX.XXX)' can't be established. RSA key fingerprint is xxxxxxxxxxxx Are you sure you want to continue connecting (yes/no/[fingerprint])?
这是因为SSH连接在第一次验证Github服务器key时,需要你确认Github的Key的指纹信息是否真的来自Github的服务器,输入 yes 就可以了。
然后会弹出一个警告,告诉你把Github的Key添加信任了。
Warning: Permanently added 'github.com,XXXXXXXX' (RSA) to the list of known hosts.
然后就正常了,以后也不会再警告。
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
推送成功后能在Github上看到内容。
从此,本地提交简化。
$ git push origin master
or
$ git push
从远程仓库克隆:
$ git clone git@github.com:XXXXXXXX.git
分支管理
git branch // 查看分支 branch: 分,分叉,枝条 git branch <name> // 创建分支 checkout: 查看 switch: v:交换,替换 n:开关 git checkout <name> merge:合并 git swith <name> // 切换分支 git checkout -b <name> git switch -c <name> // 创建+切换分支 git merge <name> // 合并某分支到当前分支 git branch -d <name> // 删除分支