目录
一:工作区和版本库
我们需要了解两个重要的知识,即工作区和版本库。
-
工作区:仓库文件夹里面,除了 .git 目录以外的内容(详见下图)
-
版本库:Git 目录,用于存储记录版本信息(详见下图)
-
版本库中的暂缓区(stage)
-
版本库中的分支(master):Git 自动创建的第一个分支
-
版本库中的 HEAD 指针:用于指向当前分支
二:工作流程
在工作区中有文件 a.txt、b.html,经过执行 git add .
命令之后会将工作区的文件添加到暂缓区中,
再经过执行 git commit -m "说明文字"
命令之后,会将暂缓区的文件添加到版本库的分支当中去。
三. Git安装
在我们Mac上,我们通过brew管理工具(相关介绍位于本文的第八章)进行git的安装。
安装命令: brew installl git
四.仓库初始化
git help 可以查看git的相关命令。
git init
:(个人仓库)仓库初始化
首先我们在桌面新建一个 project 空文件夹之后,鼠标右键以 git bash here
打开 Git 终端,
输入 git init
命令之后,观察 project 文件夹之后多了一个隐藏文件夹 Git 目录。
这时我们就创建好了一个受 Git 管理的仓库,这个仓库就在本地。
【注意】.git目录是隐藏目录,我们要想办法进入隐藏目录才可以看见该文件里面的内容
目录中每个文件对应的作用:
五. Git常用命令
git config -l
:查看配置信息命令。
git status 文件名 :查看文件的状态。
git add
:将工作区的文件保存到暂缓区
-
保存某个文件到暂缓区:
git add 文件名
-
保存当前路径的所有文件到暂缓区:
git add .
(注意,最后是一个点.
)
git commit
:将暂缓区的文件提交到当前分支
-
提交某个文件到分支:
git commit -m "注释"
文件名 -
保存当前路径的所有文件到分支:
git commit -m "注释"
git log
:查看文件的修改日志
在工作区再新增 git.txt 文件,并将该文件添加到主分支(执行上述命令),
然后输入 git log
命令,如下图所示,我们可以清楚的看到什么时候谁(who)干了什么事。
git reflog
:查看分支引用记录(能够查看所有的版本号)
输入 git reflog
命令,我们可以清楚的看到版本号下对应做了什么事(以简短的方式查看日志)。
git diff
:查看文件最新改动的地方
git reset
:版本回退(建议加上––hard 参数,Git 支持无限次后悔)
-
回退到上一个版本:
git reset ––hard HEAD^
-
回退到上上一个版本:
git reset ––hard HEAD^^
-
回退到上 N 个版本:
git reset ––hard HEAD~N
(N 是一个整数) -
回退到任意一个版本:
git reset ––hard 版本号
六. Git操作
6.1其他常用命令
git clone
:下载远程仓库到本地
-
下载远程仓库到当前路径:
git clone 仓库的URL
-
下载远程仓库到特定路径:
git clone 仓库的URL 存放仓库的路径
git pull
:下载远程仓库的最新信息到本地仓库
git push
:将本地的仓库信息推送到远程仓库
6.2 实际操作流程
***上面讲了这么多命令,那么实际到底如何正确操作呢?
- 1)在本地新建一个文件夹,右键在终端打开,输入git init进行初始化
- 2)拉取远程github或者icode上面的项目,使用 git clone ssh.../地址
- 3)改动本地仓库中某一个文件,例如修改ci.yml的内容
- 4)git add ci.yml 提交到暂存区
- 5)git commit -m "my first commit" 将缓存区的文件提交到当前分支
- 6) git push -u origin master #将本地的 master 分支推送到 origin 主机的 master 分支
# 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push
更多git学习可以参考:https://www.cnblogs.com/qianqiannian/category/899203.html
6.3 日常提交
以iCode为例。除了push新分支初次入库可以用git push直接入库之外,后续iCode所有分支的push都要用refs/for/语法,
将代码推到一个暂存区,用以进行百度法务,编码规范检查以及人工代码评审。
具体步骤:(回到对应的工作目录下发起评审)
1)执行add-commit-push三步操作,将代码推送给refs/for/master(从字面理解是push到远端master分支
的引用上,其实就是推送到一个匿名的分支,相当于一个暂存区)
git add, git commit 命令和首次提交完全相同,只是向master分支提交代码的命令变成了:
git push origin master:refs/for/master [第一个master是本地分支名称]
2)iCode打印出评审URL
用浏览器打开URL,查看代码差异,点【合入】按钮,将代码真正提交到master。
七. Github介绍
使用 GitHub 之前,我们需要去 GitHub 官网注册一个属于自己的账号,然后登录你的 GitHub 账号。选择你的仓库:
点击右侧 New 新建一个仓库,并给改仓库起一个名字,可以描述该仓库是什么项目,如下图所示:
然后我们在桌面创建一个 chatdemo 文件夹,以 git bash 终端打开,
输入 git clone 仓库的URL
下载远程仓库到本地,即 git clone https://github.com/xxxcode/git.git
:
然后我们进入 chatdemo 下的工作区,新建 readme.txt 与 index.html 文件:
使用 Git 命令将工作区的文件提交到暂缓区,并再次提交到主分支:
git push
:将本地的仓库信息推送到远程仓库:
git push
提交之后,远程仓库新增了 2 个文件,如下图所示:
八.补充:Mac上面brew
brew 是 Mac 下的一个包管理工具,作用类似于 centos
下的 yum
。
brew 可以用一条命令,就可以在mac上安装、卸载、更新各种软件包,
因为brew的使用方便,如今已成为使用mac电脑的程序员的必备工具
8.1 安装brew
安装brew也很简单,一条命令即可:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
***上述命令太慢,我们可以切换到中科院镜像
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
如果提示curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
就输入指令sudo gem install redis
,再输入安装brew指令即可。
8.2 brew基本用法
记住安装、更新、卸载三条就行:
1)安装软件
brew的安装目录在 /usr/local/Cellar
,我们以安装nodejs
为例子,只需要执行:
brew install nodejs
2)更新软件
brew upgrade nodejs
3)卸载软件
brew remove nodejs
4)介绍几条其他命令:
brew list # 列出当前安装的软件
brew search nodejs # 查询与 nodejs 相关的可用软件
brew info nodejs # 查询 nodejs 的安装信息
如果需要安装指定版本的软件,执行 brew search
查看有没有需要的版本
在 @ 后面指定版本号,例如 brew install thrift@0.9
https://mp.weixin.qq.com/s/bxxP82ZGblp82PCs24xZ3A
https://www.cnblogs.com/x1you/p/12506405.html