Git学习笔记

git

git分布式对项目版本控制,方便上线项目和回滚操作。git有三大区:工作区、暂存区、版本库。

基本命令行

在项目文件夹中运行git,或者打开git,用cd命令跳到目标文件夹:
	1.初始化
git init
在项目文件夹中生成git管理文件。
2.查看管理目录下的文件状态
git status
3.管理指定文件夹(文件名由红色变成绿色)
git add [文件名]
git add .  //管理文件夹中所有文件
4.个人信息配置:用户名、邮箱
git config --global user.name "xxxx"
git config --global user.email "xxxx"
5.生成版本
git commit -m '描述信息'
6.查看版本记录
git log
7.回滚之前某个版本
git log //查看之前修改的信息,找到对应版本的版本号
git reset --hard 版本号
8.回滚之后的版本
git reflog //git log 查不出回滚后之前的版本号
git reset --hard 版本号

分支

git每个版本用指针指向之前的一个版本,当对一个版本进行多次修改时,就形成了分支。若正在开发新版本,当线上项目出现bug时,不能用之前的方法对之前的版本进行回滚操作修改,这样正在开发的东西不能够保存,分支就是解决这样的问题,通过另外创建一条新的分支,对线上的项目进行维护修改,最后再合并到主分支(master)。

分支相关指令

1.查看当前所在分支
git branch
2.创建新的分支
git branch 分支名
3.跳转到其他分支
git checkout 分支名
4.合并分支
将所选分支合并到所在分支。合并时,当两个分支的文件在之前的内容上产生了冲突,需要手动解决冲突。
git merge 分支名字
5.删除分支
git branch -d 分支名

Github/Gitlab

代码仓库。
1.create a new repository on the command line
echo "# 厂库名" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin 厂库地址(网址)//用origin代替厂库地址,取别名
git push -u origin main //推送
2.push an existing repository from the command line
git remote add origin https://github.com/Lau-yj/FirstDayTest.git
git branch -M main
git push -u origin main
3.下载github的代码
git clone github厂库地址
4.更新分支
git pull 厂库地址别名 分支名
//等同于执行下面两句命令(一般不用)
git fetch 地址别名 分支名 //将代码拉到本地的版本库
git merge 地址别名 分支名 //将代码合并到本地的分支,更新。

rebase(变基)

1.合并提交记录,简化信息
git reabse -i 版本编号--------所表示的版本以上的版本进行合并/HEAD~num----所在的版本下的下面几个进行合并
注意事项:提交上厂库的不要合并,合并本地的记录信息。
2.将dev分支的版本加入到main分支
//1.跳转到dev分支
git checkout dev分支名
//2.将main分支合并到dev分支
git rebase main分支名
//3.切换到main分支
git checkout main分支名
//4.合并dev分支
git merge dev
3.当上传云端的新开发版本与本地新开发版本不同时,从云端拉下时,会产生分叉,如何才能不产生分叉:
origin为github厂库的地址别名。
//1.不使用git pull,用git fetch
git fetch origin 分支名
//2.
git rebase origin/所在分支名
4.若执行git rebase 出现冲突时,先手动解决冲突,然后执行提示的命令,最后再执行git rebase --continue。

冲突解决

beyond compare(软件)快速解决冲突。
1.安装beyond compare。
2.在git中配置。

git config --local merge.tool bc3
git config --local mergetool.path compare安装路径
git config --local mergetool.keepBackup false//不用保留备份

3.应用

git mergetool

多人协同

通过github实现
gitflow工作流
给记录打标签

git tag -a 版本名 -m '描述信息'

创建分支默认是在当前所在分支创建。

review实现—在github中用pull request实现

未完待续

你可能感兴趣的:(笔记,git)