GitHub与GitLab在同一电脑下不同SSH Key配置
ssh-keygen -t rsa -C “656825504@qq.com”
ssh -keygen -t rsa -C “656825504@qq.com” -f id_rsa_gitlab
git使用前的配置
在使用 git 前,需要告诉 git 你是谁
git config命令的–global参数,使用–global参数表示这台机器上所有的git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和email
- 配置提交人姓名:git config –global user.name 提交人姓名——git config –global user.name zlj-slbgm
- 配置提交人邮箱:git config –global user.email 提交人邮箱——git config –global user.email 656825504@qq.com
- 查看 git 配置信息:
- 查看系统config:git config --system --list
- 查看当前用户(global)配置:git config --global --list
- 查看当前仓库配置信息:git config --local --list
git提交步骤
- 初始化 git 仓库:git init
- 查看文件状态:git status
- 追踪文件(将文件添加到暂存区,被 git 所管理):git add 文件列表——git add index.html(git add .)
- 向仓库中提交代码(将暂存区文件提交到 git 仓库):git commit -m 提交信息——git commit -m 第一次提交
- 查看提交记录:git log
git撤销
-
用暂存区中的文件覆盖工作目录中的文件:git checkout 文件
-
将文件从暂存区中删除: git rm –cached 文件
-
将 git 仓库中指定的更新记录(指定的版本)恢复出来,并且覆盖暂存区和工作目录:git reset –hard commitID——git reset –hard 6ba76acc5ef499e5f59a0a51e1dc39a925059fbe
git分支命令
分支就相当于副本,分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习 Git 的时候,另一个你正在另一个平行宇宙里努力学习 SVN。如果两个平行宇宙互不干扰,那对现在的你也没什么影响。不过,在某个时间点两个平行宇宙合并了,结果你既学会了 Git 又学会了 SVN!
-
查看分支:git branch
-
创建分支:git branch 分支名称——git branch develop
-
切换分支:git checkout 分支名称——git checkout develop
-
合并分支:git merge 来源分支——git merge develop
-
删除合并了的分支:git branch -d 删除分支——git branch -d develop
-
强制删除未合并的分支:git branch -D 删除分支
暂时保存更改
- 存储临时改动(将分支内容剪切到剪切板):git stash
- 恢复改动(将剪切板内容恢复到原来分支):git stash pop
多人协作开发流程
-
A 在自己的计算机中创建本地仓库(无论是 A 还是 B 每次改变都要先提交到本地仓库再推送到远程仓库)
-
A 在 github 中创建远程仓库
-
A 将本地仓库推送到远程仓库
-
B 克隆远程仓库到本地进行开发(是在 B 没有本地仓库进行的)
-
B 将本地仓库中开发的内容推送到远程仓库(这里需要 A 邀请 B 为合作者)
-
A 将远程仓库中的最新内容拉去到本地
-
将本地仓库推送到 GitHub 远程仓库:git push 远程仓库地址 分支名称——git push https://github.com/zlj-slbgm/git-demo.git master
-
为远程仓库地址取别名:git remote add 远程仓库地址别名 远程仓库地址——git remote add origin https://github.com/zlj-slbgm/git-demo.git
-
使用别名将本地仓库推送到 GitHub 远程仓库:git push 远程仓库地址别名 分支名称——git push origin master
-
下次推送只需要输入 git push:git push -u 远程仓库地址别名 分支名称—— git push -u origin master
-
克隆远程仓库数据到本地:git clone 远程仓库地址——git clone https://github.com/zlj-slbgm/git-demo.git
-
拉取远程仓库中最新的版本:git pull 远程仓库地址 分支名称
解决冲突
在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突,冲突需要人为解决
跨团队协作
- 程序员 C fork 程序员 A 的远程仓库
- 程序员 C 将仓库克隆在本地修改
- 程序员 C 将本地修改推送到远程仓库
- 程序员 C 发起 pull reqest
- 原仓库作者审核
- 原仓库作者合并代码
ssh免登陆
- 生成秘钥:ssh-keygen
- 秘钥存储目录:C:\Users\用户.ssh
- 公钥名称:id_rsa.pub
- 私钥名称:id_rsa
- 用代码编辑器打开公钥,将公钥复制粘贴到 GitHub 中的 SSH keys
- 点击 Code 再点 Use SSH 切换为 SSH 协议的远程仓库地址
git忽略清单
新建名为.gitignore 的文件,将不需要被 git 管理的文件名或者文件夹名添加到忽略清单文件(.gitignore)中,在执行 git 命令的时候,git 就会忽略这些文件(比如 node_modules)
为仓库添加详细说明
- 在本地仓库新建 readme.md 文件
- 将 readme.md 文件提交到本地仓库
- 将本地仓库推送到 GitHub 远程仓库
gitee新建仓库+Vue创建项目
方式一:
克隆gitee上的远程仓库到本地(本地与远程仓库就关联上了)
再将Vue CLI创建好的项目文件拷贝到克隆下来的文件目录下
之后再提交,推送等
方式二:
使用Vue CLI在本地创建一个项目
将本地仓库与码云上的远程仓库关联(git remote add origin https://gitee.com/xxx.git)
再把本地仓库推送到gitee远程仓库
本地仓库与远程仓库代码不同步时
拉取远程仓库中最新的版本:git pull --rebase origin master
git pull时可以加上–rebase参数,使之不产生Merge点,保证了代码的整洁
git push origin master