一、文件的层级关系:
file < directory < branch < project
二、认证的两种方式:
1. http: 账号密码登陆
2. ssh:公钥私钥。需要在本地生成公钥私钥,把私钥添加到本地,把公钥设置在远端。一些操作还需要设置token来验证。
二者对应不同的 url。
注:github现在只能使用第二种认证方式。
三、git的过程:
1. 三个存储位置:本地仓库的缓存区、本地仓库的分支、远端仓库。缓存区用于处理多次修改的操作,本地仓库便于没网时也能提交新版本。
2. 过程:
1) 建立本地工作文件夹、git初始化,于是开始记录变化。
2) 如果想提交某个文件/文件夹的改变,就把改变添加到本地缓存。可多次操作。
3) 上一布结束后,统一把这些改变提交到本地仓库的某分支,如master分支。
4)本地仓库同步到远端仓库。
四、以gitlab为例:
假设我们已经通过web端新建好了project,网址假设为 http://gitlab.com/user_name/project,并希望上传本地项目到名为 master 的 branch,
命令:
cd 本地项目路径
# 生成.git文件
git init
# 把路径下文件的更改添加到缓存。如果全部文件都添加,则 git add .
git add xxx
git add xxx
git add xxx
# 缓存提交到本地仓库
git commit -m "comment"
# 连接远程仓库,仓库链接为 url,别名为 origin
# 如果生成过,则把add改为set-url
# (1)如果是http方式:
git remote add origin http://gitlab.com/username/project.git
# (2)如果是ssh方式:
git remote add origin git@gitlab.com:username/project.git
# 本地仓库 push 到远程仓库的 master branch
git push -u origin master
如果想把远程仓库的文件pull到本地仓库,
git pull origin master