Git
Git安装
进入官网下载安装界面Git,选择符合自己系统的安装包
which -a git
git -version
ls -ah 显示.git目录
初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
第一步,使用命令git add file.name
,注意,可反复多次使用,添加多个文件。
第二步,使用命令git commit -m ‘注释’,完成。
设置用户名(用户名最好和GitHub保持一致)和邮箱
git config –global user.name
git config –global user.email
git config –list
Git工作模式
工作区,暂存区,版本区
从工作区到暂存区,可理解为过渡区 ,避免错误操作,保护工作区和版本区 分支处理
Git命令
git add file.name
将文件添加到暂存区
git add .将文件添加到暂存区
git commit 将文件提交到版本库
git commit -m ‘注释’ 将文件从缓存区提交到版本库
gii commit -a -m ‘注释’ 将文件直接从工作区提交到版本库
git clone git@github.com:michaelliao/gitskills.git 从github上克隆文件到本地
git status 查看工作区的状态
git log 查看历史记录
对比
git diff file.name
查看修改内容(工作区域和暂存区域对比)
git diff –cached(–staged) file.name
查看修改内容(暂存区域和版本库对比)
git diff master 查看修改内容(工作区域和版本库对比)
撤销
git reset HEAD file.name
丢弃工作区现有文件版本,把当前文件在暂存区版本复制(撤销)到工作区,并清空该文件在暂存区的版本记录(从暂存区撤销到工作区)
git checkout –file.name
丢弃工作区的修改,把当前文件在版本库中的版本复制(撤销)到工作区,并清空该文件在版本库中的版本记录(从版本区撤销到工作区)
git commit -m ‘注释’ –amend 撤销已经提交到版本库中的文件到暂存区,和下一个提交暂存区中的文件再一起提交到版本库中
删除
git rm file.name
如果工作区中该文件被删除,执行该命令只删除暂存区文件
git rm -f file.name
同时删除工作区域和暂存区的文件(前提是工作区和暂存区都存在这个文件)
git rm –cached file.name
如果工作区和暂存区都存在这个文件,那么只删除暂存区文件
恢复
git checkout commit_id file.name
把文件返回到 commit_id
版本(针对某一个文件返回到特定版本,从版本区返回)
git reset –hard commit_id 返回到 commit_id
版本(针对所有文件返回到特定版本,从版本区返回)
git reset –hard HEAD^ 往回退一个版本,从版本区返回
git reset –hard HEAD~number 往回退number个版本,从版本区返回
git reflog 记录每一次输入的命令
同步到远程仓库
git push origin master 同步到远程地址的主分支
git remote 查看远程仓库的名字
git remote add 修改远程仓库的名字
git remote add origin 添加默认的远程仓库的名字(前提是没有从远程仓库克隆文件/或者没有远程地址)
git remote -v 查看远程地址
更新本地版本
git fetch 获取远程版本需要手动合并
git diff master origin/master 本地版本库和远端版本库之间对比
git merge origin/master 手动合并差异
git pull 直接把远程版本与本地版本合并(自动合并差异)
分支
git branch name
创建一个分支
git branch –merged 查看已经和master合并的分支
git branch –no–merged 查看没有和master合并的分支
git branch -d name
删除分支(不能删除没有与master合并的分支)
git branch -D name
强制删除没有与master合并的分支
git checkout -b name
创建并切换分支
git checkout master/name
切换分支
git merge orgin/master 合并远程版本库和本地版本(git merge应该在主分支(master)上执行)
git tag name
git config -l 查看全局的配置信息
git config –local –list 查看全局的配置信息
git config –global user.name 查看全局配置的用户名
git config –global user.email 查看全局配置的邮箱
注意分支和 fork pull request的区别
分支是本地的概念 fork pull request是远程仓库的概念
ssh-keygen -t rsa -C "youremail@example.com" 用来设置SSH
git remote add origin git@github.com:michaelliao/learngit.git 关联一个远程库
$ git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改