这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
本文为青训营课程笔记,配合原课程食用效果更佳哦~
课程笔记
Git 是什么 ?
-
Git is a free and open source distributed version control system designed to handle everything
-
from small to very large projects with speed and efficiency.
为什么要学习 Git
-
协同工作
- 业界绝大多数公司都是基于 Git 进行代码管理,因此 Git 是一个程序员的必备技能
-
开源社区
- 目前绝大多数的开源项目都是基于 Git 维护的,参与这些项目的开发都需要使用 Git。
git学习
-
项目初始化
-
基本
-
mkdir study
-
cd study
-
git init
-
-
其他参数
-
--initial-branch 初始化的分支
-
--bare 创建一个裸仓库 (纯 Git 目录,没有工作目录)
-
--template 可以通过模版来创建预先构建好的自定义 git 目录
-
-
-
配置
-
用户名配置
-
git config --global user.name “liaoxingju”
-
git config --global user.email liaoxingju@bytedance.com
-
-
Instead of 配置
- git config --global url.git@github.com:.insteadOf github.com/
-
Git 命令别名配置
- git config --global alias.cin "commit --amend --no-edit"
-
-
2.13 Git Clone & Pull & Fetch
-
Clone
- 拉取完整的仓库到本地目录, 可以指定分支,深度。
-
Fetch
-
将远端某些分支最新代码拉取到本地, 不会执行 merge 操作,
-
会修改 refs/remote 内的分支信息,如果需要和本地代码合并需要手动操作。
-
-
Pull
-
拉取远端某分支,并和本地代码进行合并,操作等同于 git fetch + git merge,
-
也可以通过 git pull --rebase 完成 git fetch + git rebase 操作。
-
可能存在冲突,需要解决冲突
-
-
-
2.14 Git Push
-
Push 是将本地代码同步至远端的方式。
-
一般使用 git push origin master 命令即可完成
-
如果本地的 commit 记录和远端的 commit 历史不一致,则会产生冲突,比如 git commit --amend - or git rebase 都有可能导致这个问题。
-
如果该分支就自己一个人使用,或者团队内确认过可以修改历史则可以通过 git push origin master –f来完成强制推送,一般不推荐主干分支进行该操作,正常都应该解决冲突后再进行推送。
-
可以通过保护分支,来配置一些保护规则,防止误操作,或者一些不合规的操作出现,导致代码丢失
-
-
总结收获
通过样例与知识点结合的方式,学到了一些git相关的知识;
通过样例的讲解,更了解了具体的git操作;
又是收获满满的一天
引用参考
青训营官方课程视频
青训营官方课程文档
青训营官方课程笔记