Git使用全篇

GIT 安装

brew install git

配置全局变量

git config --global user.name “chenqiang”
git config --global user.email “cq18390522307@163.com
git config --global --list

配置gitLab/gitHub SSL

ssh-keygen -t rsa -C “cq18390522307@163.com

配置config

vi config

# 描述
# Host 网站地址或者ip地址
# HostName  网站地址
# User 可以写邮箱名称,也可以写 git 账号          
# IdentityFile 对应密钥路径

# shell.ceshiren.com
Host hogwarts
    HostName shell.ceshiren.com
    Port 22
    User jck282307
    IdentityFile ~/.ssh/id_rsa
    ServerAliveInterval 40

# gitee
Host gitee.com
HostName gitee.com
User chenqiang
IdentityFile ~/.ssh/gitee

#github
Host github.com
HostName github.com
User chenqiang
IdentityFile ~/.ssh/github

将私钥添加到本地

  • Gitlab
    ssh-add ~/.ssh/gitlab
  • github
    ssh-add ~/.ssh/github

测试连接

ssh -Tv git@github.com

在本地项目中初始化成git仓库

git init

本地项目关联git远程仓库

git remote add origin ‘项目地址’

把git远程仓库同步至本地

git pull --allow-unrelated-histories origin master

添加文件到暂存区

git add .
README,LICENSE,.gitignore

提交到本地仓库

git commit -m “备注”

本地仓库推送到远程仓库

git push --set-upstream origin master

查看当前文件状态

git status

查看已暂存和未暂存的修改

  • 比较当前文件和暂存区域快照之间的差异
    git diff

  • 查看已暂存的将要添加到下次提交里的内容
    git diff --staged

撤销操作

  • 撤销对文件的修改
    git checkout <file>
  • 取消暂存
    git reset HEAD <file>re

移除文件

  • 删除文件
    git rm -f <file>
  • 移除暂存区
    git rm --cached <file>

忽略文件

  • 创建 .gitignore 文件
  • 有些文件无需纳入Git的管理
    • 比如日志文件,或者编译过程中创建的临时文件,
  • 这些文件添加到 .gitignore 文件中,则会自动忽略提交到Git仓库

创建分支

git checkout -b test-20231101

切换分支

git checkout master

查看项目提交日志

  • 筛选时间
    git log --since=“2023-02-2 00:00:00”
  • 筛选作者
    git log --author=“chenqiang”
  • 筛选描述
    git log --grep=“update”

查看分支

  • 列出本地所有分支
    git branch
  • 列出远程所有分支
    git branch -r
  • 列出所有本地&远程分支
    git branch -a

创建分支

  • 新建分支,但仍然停留在当前分支
    git branch 分支名
  • 新建分支,同时直接切换至该分支
    git checkout -b 分支名

删除分支

git branch -d 分支名

合并分支

  • 合并指定分支到当前分支
    git merge 其他分之名 本分之名
  • 变基:重新设置基准
    git rebase 其他分支

解决冲突

  • 解决冲突方式:
    • idea中解决冲突: 选择要保留的内容点击Accept,保存代码
    • 文件中解决冲突: 保留需要的内容,删除其余内容,去掉分割线,保存代码
  • 冲突解决流程:
    • 在本地仓库当前分支上,修改冲突内容。
    • 执行 git add . 添加至暂存区。
    • 执行 git commit -m ‘提交说明’ 提交到本地仓库,完成合并。
    • 执行 git push 提交到远程仓库。
      ![冲突样式]