Git命令学习
基本命令
1)、cd :改变目录
2)、cd.. 回退到上一级一个目录,直接cd进入默认目录
3)、pwd :显示当前所在的目录路径
4)、ls: 列出当前目录的所有文件
5)、touch:新建一个文件 如touch index.js 就会在当前目录下新建一个index.js文件
6)、rm:删除一个文件,rm index.js 就会把index.js文件删除
7)、mkdir:新建一个目录,就是新建一个文件夹
8)、rm -r: 删除一个文件夹,rm -r src 删除src目录
9)、mv: 移动文件
10)、rest 重新初始化终端/清屏
11)、clear 清屏
12)、history 查看命令历史
13)、help 帮助
14)、exit 退出
15)、# 标示注释
设置用户名与邮箱
当你安装Git后首先需要做的事情是设置你的用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到你的提交中:
$ git config --global user.name "zhuyu" # 名称
$ git config --global user.email "1597457236@qq.com" # 邮箱
Git基本理论(核心)
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果加上远程的仓库就可以分为四个工作区域。
Workspace : 工作区,就是你平时存放代码的地方
Index/Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。
Git项目搭建
主要记住下面几个命令:
git add
git commit
git push
本地仓库搭建
创建本地仓库的方法有两种方式:一种是创建全新的仓库,另一种是克隆远程仓库。
1、创建全新的仓库,需要Git管理的项目的根目录执行:
# 在当前跟目录新建一个Git代码库
$ git init
Initialized empty Git repository in F:/Git/GitCode/.git/
克隆远程的仓库
1、另一种方式是克隆远程目录,是将远程服务器上的仓库完全镜像一份至本地!
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]
GIT文件操作
文件4种状态
版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前在什么状态,不然可能提交了现在还不想提交的文件,或者要提交的文件美提交上。
1) Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库中,不参与版本控制,通过git add 状态变为 staged
2) Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种文件有两种去处,如果它被修改,而变为Modified,如果使用git rm 移出版本库,则成为Untracked 文件。
3)Modified: 文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两个去处,通过git add 可进入暂存 staged 状态,使用git checked 则丢弃修改过,返回到unmodify 状态,这个git checkout 即从库中取出文件,覆盖当前修改。
4)Staged :暂存状态,执行git commit 则修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify 状态,执行git reset HEAD filename 取消暂存,文件状态为Modified。
查看文件状态
上面说文件有4种状态,通过如下命令可以查看到文件的状态:
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# git add . 添加所有文件到暂存区
# git commit -m "消息内容" 提交暂存区中的内容到本地仓库 -m 提交信息
忽略文件
有些时候我们不想把某些文件纳入到版本控制中,比如数据库文件,临时文件,设计文件等
# 为注释
*.txt # 忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt # 但lib.txt除外
/temp # 仅忽略项目根目录下TODO文件,不包括其他目录temp
bulid/ # 忽略bulid/目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
使用码云
github 是有墙的,比较慢,在国内的话,我们一般使用 gitee ,公司中有时候会搭建自己的 gitlab服务器