git之间的关系图(非常重要)
- 工作区(Workspace) → git add → 暂存区(Staging Area)
- 暂存区(Staging Area) → git commit → 本地仓库(Local Repository)
- 本地仓库(Local Repository) → git push → 远程仓库(Remote Repository)
- 远程仓库(Remote Repository) → git fetch/pull → 本地仓库(Local Repository) / 工作区(Workspace)
总流程
1、 自己电脑就是工作区,当第一次要进行提交操作的时候需要先进行git init这样会在目录中生成一个.git文件,这认作一个一个git操作,后买就无需进行git int
然后需要对远程仓库进行连接,这里介绍用ssh密钥交换,先检查本机是否已经有密钥
ls -al ~/.ssh
没有的话就创建一个
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
接下来会让你再设一个密码短语可以直接跳过,enter即可
2、 然后就是把生成密钥文件的内容复制到github中(打码的地方),嫌麻烦可以
cat ~/.ssh/id_rsa.pub # Windows/Linux(帮你直接复制到剪贴板)
3、 连接成功后就可以添加远程仓库
git remote add origin git@github.com:username/xxxxxx.git
注意!这里的origin我之前不是很理解,这边仔细解释一下,这个oringin你把他理解成一个本地用来指向远程仓库的一个指针,他可以是任何字符,真正起作用的是git@github.com:username/xxxxxx.git相当于指针的指向的地址
4、
- git add . //把工程的文件提交到暂存区
- git commit -m "Initial commit" // 把暂存区的东西放到本地仓库
- git push -u origin main //上推到远程仓库(oringin上面说过了是代指实际仓库的指针),main代表远程仓库的main分支(你可以自己决定分支)
感觉暂存区和本地仓库是不是作用重复了?
爱思考总是好的,我也有这种问题,其实就是暂存区帮你提交更改过的代码并不是一股脑全给你交了,而本地仓库则是保存整个工程,先经过暂存区再合并到本地仓库
还有个好处在哪?
当你在某一次代码出问题的时候就可以利用工具(推荐一下GitHubDesktop)去看暂存区的代码,省的去看没有变化的地方对吧