Git && Github 笔记

2021-08-12  本文已影响0人  AlexLJS

(Git : 版本控制器 , Github : 代码仓库)


一、 基础配置

# 查看用户配置 用户目录下的  .config 
git config -l

# 查看本机配置 git/etc/config
git config --system --list

# 查看用户名、邮箱,提交项目必要
git config --global --list

git config --global user.name XXXX
git config --global user.email XXX@XXX


二 、git 的理论知识

image.png

四个工作区域 :

1 、本地工作区

git add 将本地工作区改动添加到缓存区
git checkout 切换缓存区,将缓存区分支切换(加载)到本地工作区

注: fetch 、clone 都是从远程仓库拉倒本地 git 仓库 ,fetch 是拉到本地仓库中但不合并

2、 缓存区

git commit 将暂存区的改动提交到本地 git 仓库
git reset 本地 git 仓库重置到缓存区

3、 本地 git 仓库

(保存了项目的各种分支和版本信息)

git push 本地git仓库推送到远程仓库
git pull 远程仓库拉取回本地仓库

注 : pull = fetch + merge

4、远程 git 仓库
代码托管平台 github 、gitee 等


三、远程分支

1、分支:

介绍公司通常使用的两种模式:
master + dev + release : 开发都在 dev ,高级工程师决定何时同步dev或者发布release版本。
master + 个人分支 + release :个人开发完一个功能, 提交 merge request,合并完销毁功能分支 ,适合较多人协同。

# 查看分支
git branch
git branch -r
git branch -vv

# 新建分支
git branch [NAME] 

# 切换分支
git checkout -b [branch-name]

# 合并分支 : 合并指定分支到当前分支
git merge [branch-name]

# 删除分支
git branch -d [branch-name]

# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

2、 冲突

一般自己对冲突代码进行解决,使用现代 ide,可以决定保留冲突的哪个部分。


四、 常用高级命令

1、rebase

rebase 操作常用于合并自己的多次 commit 记录。

git rebase -i HEAD~3

i : 交互模式

注: git rebase 交互界面 GUN , 保存快捷键 ctrl + s 。 没冲突 直接 push -f

2、cherry-pick

常用于摘取某分支的一次或者多次 commit 到 master 。

git cherry-pick XXXXX

区别于 merge , merge 拉取分支全部提交记录 。


五、其他 :

1、git 学习:
https://gitee.com/all-about-git

2、问题openssl:
遇到 macos LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
解决办法:git config --global http.sslBackend "openssl"

3、参考:
https://www.liaoxuefeng.com/wiki/896043488029600/897271968352576

上一篇下一篇

猜你喜欢

热点阅读