git笔记

267 阅读4分钟

git安装

1. 百度搜索git for windows
2. 检测有没安装成功在cmd里输入git回车见到一堆英文就成功了

配置用户名和邮箱

git config --global user.name "Mr159"
git config --global user.email "1594341780@qq.com"
查看配置git config --list

git常用命令

* 初始化git init
* 查看状态git status
* 添加到暂存区git add +添加的目录或文件
* 分支git commit -m "备注"
* 查看修改状态git log或git reflog
	整洁一点:git log --pretty=oneline
	退出按q键

* 不想上传远程的文件放在:.gitignore文件里
	npm init -y 是下载package.json文件

登录github并创建远程仓库

1. 创建仓库 new repository里面
2. 在本地生成公钥和密钥 ssh
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
	id_rsa 是密钥
	id_rsa.pub 是公钥 。复制到远程ssh

	如何查看自己的公钥:1.cd ~/.ssh
			2.cat  id_rsa.pub

3.连接远程
	git remote add origin 远程仓库地址
	例如:
	git remote add origin(git@github.com:Mr159/xin_project.git)
	查看是否连接:git remote -v
	或: ssh -T git@github.com


	如果报错git remote rm origin(删除) 再连接

4.推送连接
	推送:本地-->远程
	git push origin master -u
	拒绝,报错就往下执行
	
	拉下来:远程-->本地
	git pull origin master (不行就继续往下)
	
	拉取远程所有分支
	git fetch origin
		查看远程分支:git branch -r
		查看所有分支:git branch -a(包括本地和远程)
	git rebase origin/master
	
	再推送git push origin master
	
	** 如果出现master -> master (non-fast-forward)这个错误
	git push --force https://github.com/Mr159/mixian-front.git来解决
5.从远程获取本地文件方法
	1. github里创建项目
	2.git clone git@github.com:Mr159/xin_project.git
	3.然后在这个项目下创建新的文件

git历史管理(历史回退)

1. 放弃工作区的修改:git checkout -- 要放弃修改的文件
2. 放弃暂存区的修改:git reset HEAD 要回退的文件
3. 回退分支版本:git reset --hard +commit_id

查看修改状态git log
git log --pretty=oneline
git reset --hard +commit_id
想获取之前的id就用:git reflog

再输入想回退的id:git reset --hard +commit_id

说明:用git reset 回退到以前的某个版本,也可以回复到现在的版本
所谓版本:即用git commit一次就是一个版本

git分支管理

默认git仓库只有一个master主分支

master:通常用于发布产品的分支
dev:开发分支
bug:修复bug的分支
feature:添加新功能分支

1. 查看分支:git branch
	*当前分支
2. 创建分支:git branch 分支名
3. 切换分支:git checkout 要切换的分支名
4. 创建并自动切换到创建的分支上:git checkout -b 分支名

5. 合并分支:git merge 要合并的分支名
	如果出现合并冲突有以下选择点:
	1 Accept Current Change :选择当前的
	2 Accept Incoming Change :选择外来的的
	3 Accept Both Changes :两个都选
	4 Compare Changes

6. 把本地分支提交到远程:git push origin 要提交的本地分支
7. 删除本地分支:git branch -d 分支名(当前分支不能删除)
	没有合并的分支用 -D 来删除
8. 删除远程分支:git push origin :要删除的远程分支名

注意:添加当前分支与远程跟踪:例如:当前分支是dev
	格式:git branch --set-upstream-to=origin/远程分支名
	例如:git branch --set-upstream-to=origin/dev

tag管理

项目发布的版本的管理:releases

查看tag:git tag
添加tag:git tag tag名称  
	
	例如:git tag v0.0.1

给指定的commit_id添加tag版本:git tag tag名 +commit_id
	例如:git tag v0.0.2 af125fd

删除本地tag: git tag -d 要删除的tag名

推送tag到远程 : git push origin v0.0.1

删除远程tag:   git push origin :v0.0.1

git协作开发

协作开发分两种:
一.  国际化开发: 主要利用pull  Request请求,代码讨论,审核,最后由				负责人合并
	步骤:1. 先找到开源项目,再fork到自己的仓库
		   2. 克隆到本地 git clone git@github.com:Mr159/d2-crud.git
		    3. 修改代码
		        4.推送到自己的远程仓库
		            5. New pull Request
		                6. Create  pull request
二.自由开发
我们公司由五个人同时开发一个项目,大佬建好仓库后叫我们统一提交到dev这个分支,我的分支是hardy,你们只要将这两个值改成你们团队协作中使用的分支即可。代码如下:
    1、git add .
    加入缓存
    2、git commit -m "完成移动端数据填充"
    提交到本地仓库
    3、git push
    提交到远程仓库
    4、git checkout dev
    切换分支
    5、git pull
    拉去分支代码(注意:如果出现冲突需要手动解决冲突并执行1,2,3步骤)
    6、git checkout hardy
    切换分支
    7、git merge dev
    合并代码
    8、git push origin hardy:hardy
    提交到远程库hardy分支
    9、git push origin hardy:dev
    提交到远程库dev分支

如何用可视化工具来操作git(即不用命令,用软件操作)

* git GUI
* sourcetree
* vs code

使用git做静态网站

一. 项目方式(Project site)
	1. 项目中创建docs文件夹
	2. 找到settings
	3. 下滑找到 github pages
	4. 选择source下的master branch/docs folder
	5. source上面会生成一个地址  这个地址就是我的静态页面


二. 公司组织方式(User or ganization site)
	创建一个新仓库:
		仓库名必须是:用户名.github.io(死规定的)