git基本理论(核心所有的实践都需要源于这个理论)
工作区域 | 作用 | 用法 | 用法2 |
---|---|---|---|
Working Directory | 工作区,就是平时存放代码的地方 | git add files :把本地文件添加到暂存区 | git checkout 暂存区回到本地 |
Stage/index | 暂存区,用于临时存放你的改动,实际上它只是一个文件,保存即将提交到文件列表信息 | git commit 提交到本地的git仓库 | git reset ,commit提交之后回滚 |
Repositonry或Git Directory | 仓库区,就是安全存放数据的位置买这里面有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本 | git push 提交到远程仓库 | git pull 把远程代码拉取到本地 |
Remote Directory | 远程git仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换本地的三个区域确切的说应该是git草哭中的head指向的版本: |
1.1项目创建及克隆
- 1.创建全新的仓里
#在当前目录创建一个git代码库,初始化
$ git init
- 2.克隆远程仓库
#克隆一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地!
git clone url
1.2文件操作
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
#添加文件到暂存区
git add . 所有文件
#提价暂存区的内容到本地仓库
git commit -m "消息内容"
1.3忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件设计文件等。
在目录下简历".gitignore"文件,此文件如下规则:
- 1.忽略文件中的空行或者以#好开头的行将会呗忽略
- 2.可以使用linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,包括([abc])代表可选泽福规范,大括号({string1,string2,…})代表可选的字符串。
- 3.如果名称的最前面有一个感叹号(!),代表列外规则,将不被忽略。
- 4.如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 5.如果名称的最后面是一个路径分隔符(/),表示要被忽略的是此目录下该名称的子目录,而非文件(默认文件或目录的忽略)
。
*.txt #忽略所有.txt结尾的文件
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
1.4设置SSH公钥及常见远程仓库
- 1.生成公钥
ssh-keygen -t rsa
rsa 官方默认算法
步骤:
公钥私钥默认保存路径为是个隐藏文件哦
C:\Users\Administrator\.ssh
打开后缀.pub文件把内容复制到gitee公钥上面