Git学习摘要

# Git学习摘要

# Git下载

https://git-scm.com/download/win

# Git安装

一直点击下一步即可

# 安装成功

Bash相当于内置了一个Linux窗口的程序

# 配置用户名和邮箱

git config --global user.name "塞外暴风雪"

git config --global user.email "287077203@qq.com"

提示

右键显示git bash窗口后输入命令行如下:用户名和邮箱要与代码托管服务的一致 Administrator@WIYZAMVJLAVLSIS MINGW64 /d/GIT $ git config --global user.name "塞外暴风雪" Administrator@WIYZAMVJLAVLSIS MINGW64 /d/GIT $ git config --global user.email "287077203@qq.com" Administrator@WIYZAMVJLAVLSIS MINGW64 /d/GIT $ git config --global user.name
塞外暴风雪 Administrator@WIYZAMVJLAVLSIS MINGW64 /d/GIT $ git config --global user.email 287077203@qq.com

# 为常用指令配置别名(可选)

  1. 打开用户目录(user),创建.bashrc文件 如果手动不能创建,可以使用指令创建: touch ~/.bashrc
  1. 在.bashrc文件中输入如下内容: #用于输出git提交日志 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' #用于输出当前目录所有文件及基本信息 alias ll='ls -al'

  2. 打开gitbash,执行source ~/.bashrc

# 为常用指令配置别名(可选)

第一、打开gitbash执行下面命令

git config –global core.quotepath false

第二、${git_home}/etc/bashrc文件最后加入下面两行

export LANG=”zh_CN.UTF-8” export LC_ALL=”zh_CN.UTF-8”

# 本地仓库

在本地磁盘创建一个文件夹目录,比如git-LSVSystem。执行gitbash,输入命令git init创建空仓库,输入命令ll查看当前文件夹下的内容。

Administrator@WIYZAMVJLAVLSIS MINGW64 /d/GIT
$ git init
Initialized empty Git repository in D:/GIT/.git/
1
2
3

# 操作指令

Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git命令而发生变化。

基本命令:

  • git status 查看仓库的状况。
  • git add fileName.format 提交文件到暂存区。
  • git add . 提交所有新文件到暂存区。
  • git commit -m “说明文字” 提交文件到仓库。
  • git log --pretty=oneline --abbrev-commit --all –graph
  • git reset --hard commitID 版本回退
  • git reflog 记录所有操作
  • git branch 查看分支
  • git branch 分支名 创建新分支
  • git checkout 分支名 切换分支
  • git checkout -b 分支名 切换并创建分支
  • git merge 分支名 将分支名的文件合并到当前分支
  • git branch -d 分支名 删除一个分支
  • git branch -D 分支名 强制删除一个分支
  • git push -f origin master:master 完整的指令名称(-f强制覆盖)
  • $ git config --global core.autocrlf false (warning: LF will be replaced by CRLF in 原因是存在符号转义问题)
  • $ git rm -h 用法:git rm [<选项>] [--] <文件>... -n, --dry-run 演习 -q, --quiet 不列出删除的文件 --cached 只从索引区删除 -f, --force 忽略文件更新状态检查 -r 允许递归删除 --ignore-unmatch 即使没有匹配,也以零状态退出

未创建文件前的状态:

创建了一个Version.txt文件后的状态

将Version.txt提交到暂存区后的状态, git add

将Version.txt提交到仓库后的状态,git commit

查看仓库的提交日志,git log

当修改了Version.txt文件后的状态

将修改后的Version.txt文件再次 git add后

再次git commit后的状态

最后再git log查看仓库提交记录

优化显示:

$ git log --pretty=oneline --abbrev-commit --all --graph
* 651e0d4 (HEAD -> master) Update version file
* b9b427c add a file
1
2
3

如果指令太长,就用到了别名,详情请看上面。 版本回退 git reset --hard b9b427c 回退到这个版本

查看所有操作记录 git reflog

git .gitignore文件记录了需要忽略的文件格式,此处忽略*.a文件

git branch 查看分支 ;git branch dev01 创建一个dev01的分支

git checkout dev01切换分支

git checkout -b dev02 创建并切换到dev02分支

git merge dev01合并dev01分支的内容到master分支

# 分支使用原则和流程

  • master :生产分支
  • develop:开发分支
  • hotfix/xxx分支
  • test:测试分支
  • pre:预上线分支

# 远程仓库

常用的托管服务(远程仓库)

  • Github(https://github.com) 面向开源与私有软件项目的代码托管平台。因为只支持Git作为唯一的版本库格式进行托管管理。
  • 码云(https://gitee.com)国内的代码托管平台。
  • GitLab(https://about.gitlab.com)仓库管理的开源项目,使用git作为代码管理的工具,一般用于企业、学校等内部网络搭建git私服。

# 远程仓库码云使用

  • 注册账号
  • 创建仓库
  • 配置SSH公钥
  • b生成密钥: ssh-keygen -t rsa
  • 查看密钥:cat ~/.ssh/id_rsa.pub
  • 配置密钥到码云:将ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC+MgMSYrD3wp8cddH/Meol7vXI9FhQA2tKbbYbq/VnTd2MUhXE2L6KVYxc89i8UUUAc1QgnZxQbtnSRiV7M6NJ2DnryjUefM5h6G3xfPcBrqXn5VbwQqUcfeeAHKt+umzNNqh8rYDyywyoVZzQ82atoZeJ9EJzhU1HIg1uibAXM9P7U6lz8R8xfHALUFjbHiHukpb8lmAWaxq2h+TBbbZYl6RX+OnsBAgsoBi/uoSl0luoTQ/vUor49WEpksEizv5cSkirxwK/WYLRoRLR7f9sAU7tkrb8+/4Alx7hAE1O0a4I7kaORAKbvhCc4Ign2jlYtL3g0cpp6lvVNYJ7oSq8jA6q1Mz6SWRjfhLsg+xsYyuB3siIePE2ZbNQXQp93zotoRULPbnk4nJnTyEYmybXLIV0no/iwl4vfc5l6jSrp2cLGJcrblr83iXohI1/xolgrxUOwMCMAMzQ2vI1eDq96247sUIynvsTGBD0DydpHAN57HT43WccIfrPhYTZ8ZU= Administrator@DESKTOP-0TBMHJ6
  • 复制到码云的密钥处
  • 验证配置信息:ssh -T git@gitee.com

把本地仓库推送到远程仓库 git remote add origin git@gitee.com:yangliangxi/git-lsvsystem.git (地址为远程仓库的SSH地址)origin是远端名称 git push origin master 推送本地代码到远程仓库 git push -f origin master:master 完整的指令名称(-f强制覆盖)

git remote -vv 查看远程详细信息 git branch -vv 查看本地详细信息

git push –set-upstream origin master:master 将本地master 关联到远程master,这样在推送的时候,就可以省略掉分支名和远端名 ,即 git push

# 从远程仓库克隆

git clone 仓库路径git@gitee.com:yangliangxi/git-lsvsystem.git

# 从远程仓库抓取/拉取

  • git fetch 远端名 分支名 将远端仓库里的更新抓取到本地,但是不会合并。如果不指定远端名和分支名,则抓取所有分支。
  • git pull 远端名 分支名 将远端仓库的修改拉到本地并自动进行合并,等同于fetch +merge,如果不指定远端名和分支名,则抓取所有并更新当前分支。
  • git pull origin master --allow-unrelated-histories

本地解决了冲突后才能push上远程仓库。 远程仓库有更新后,本地执行pull就将远程的更新拉到本地仓库。

# 创建Git密钥和公钥

https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5

上次更新: 2025/02/15, 13:42:25
最近更新
01
Git问题集合
01-29
02
安装 Nginx 服务器
01-25
03
安装 Docker 容器
01-25
更多文章>
×
×