简介GIT
一、git是什么
-
git是一款分布式项目版本管理的工具
git:分布式
svn:集中式
二、git常用命令
- git init
在当前项目的目录下生成一个.git隐藏文件夹,为了跟踪项目代码
-
git add:将工作区的文件添加到暂存区
-
git commit:将暂存区的文件提交到到本地仓库(也称分支)
-
git push:将本地仓库快照提交到远程
将本地项目提交到远程的托管平台
常用托管平台:github,码云,gitlab....
提交到远程仓库之前:
1.在github上创建一个远程仓库
2.创建ssh(公钥和密钥)
在本地上通过命令生成: ssh-keygen
ssh-keygen -t rsa -b 4096 -C "aaaa@example.com"
会自动生成
id_rsa(密钥)
id_rsa.pub(公钥)
3.本地创建一个用户名和邮箱
git config --global user.name 'hjl888666'
git config --global user.email 'hjl888666@126.com'
测试是否与远端连通:
ssh -T git@github.com
成功提示:
Hi w3cteching! You've successfully authenticated, but GitHub does not provide shell access.
4.创建本地与远程仓库关联(git remote)
格式:git remote add 远程主机名 远程仓库地址
git remote -v :查看远程仓库地址信息
例如:
git remote add origin git@github.com:w3cteching/test1909_pro.git
5.将本地代码推送到远端仓库
git push -u origin master
如果git push报错,首先咱们先拉取到本地,再推送
git pull origin master --allow-unrelated-histories
- git remote:
格式:git remote add 远程主机名 远程仓库地址
git remote -v :查看远程仓库地址信息
例如:
git remote add origin git@github.com:w3cteching/test1909_pro.git
- git pull
git pull origin master --allow-unrelated-histories
-
git fetch:拉取,但不合并,然后再用merge合并
-
git clone:将远程的仓库项目克隆到本地
git clone 远程仓库地址
例如:git clone git@github.com:w3cteching/test1909_pro.git
-
git status:查看当前文件状态
-
查看提交日志:
git log
简写:git log --pretty=oneline 只显示commit id 和提交说明
git reflog:查看所有历史提交记录
- …
记住:git管理的不是文件,管理的是”修改“
如何添加协作者:
12.分支
-
分支是什么?主要为了方便项目协作管理的技术(即:分支之间是独立互不影响的)
-
分支类型
- 默认git有一个主分支 master,主要用于发布产品的分支
- dev分支:开发分支
- feature:开发新功能分支
- hotfix:修复bug的分支
- 成员分支:成员名+功能模块名
-
分支常用命令
- git branch 回车
git branch * master //注:前面有*代表是当前分支
- 创建分支
git branch dev
- 切换分支
git checkout 要切换的分支名
- 切换并创建分支
git checkout -b 新分支名
- 合并分支
git merge 要合并的分支名
合并时可能会出现冲突:
如果本地分支合并出现冲突,要手动解决
如果往线上推送出现冲突,那先git pull,手动解决冲突后,再git push
- 删除分支
git branch -d 分支名 //合并过的用-d删除 git branch -D 分支名 //未合并过的用-D删除
- 如何将本地分支推送到远程
git push origin 要推送分支名
注意:如何默认推送当前分支到远端
git push --set-upstream origin dev