当前位置:   article > 正文

git 从安装到常用操作命令讲解,一文教会你使用git

git 从安装到常用操作命令讲解,一文教会你使用git
 1、简介

        git 是一个开源的分布式版本控制系统,其操作主要流程如下:

2、git 下载安装配置
2.1、下载
  1. # 1、下载(https://git-scm.com/)
  2. yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  3. # 2、安装
  4. ./configure --prefix=/usr/local/git
  5. make && make install
  6. git --version # 查看 git 版本
 2.2、配置
  1. # 1、配置(去掉 --global 参数只对当前仓库有效)
  2. git config --global user.name "weilong"
  3. git config --global user.email "zwlong1114@163.com"
  4. # 2、配置公钥(生成公钥,并且将生成的公钥粘贴到远程仓库中。例如:github中 (settings->Deploy keys->Add deploy key->key内即可))
  5. ssh-keygen -t rsa -C "zwlong1114@163.com"
  6. cat /root/.ssh/id_rsa.pub
  7. # 3、验证是否秘钥配置成功
  8. ssh -T git@github.com
3、git 仓库常用仓库
  • 工作区:就是在电脑里能看到的目录。

  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

3.1、查看已有配置 
  1. # 查看已有的配置信息
  2. git config --list # 这些配置也可以在 ~/.gitconfig 或 /etc/gitconfig 查看
  3. git config user.name # 获取某个环境变量的值
  4. git config -e # 编辑 git 配置文件(针对当前仓库)
  5. git config -e --global # 编辑 git 配置文件(全局)
 3.2、git 仓库初始化
git init                # 该命令执行完后会在当前目录生成一个 .git 目录
3.3、将更改添加到本地暂存区中
  1. # 将更改添加到本地暂存区中
  2. git add ./--all # 将 所有 添加到暂存区
  3. git add [file1] [file2] ... # 将 一个或多个文件 添加到暂存区
  4. git add [dir] # 添加指定目录到暂存区,包括子目录
3.4、将提交到暂存区的更改提交到本地仓库
  1. # 将提交到暂存区的更改提交到本地仓库
  2. git commit -m '初始化项目版本'
3.5、克隆
  1. # 克隆(可以指定克隆到的目录,也可以不指定,直接克隆到当前路径下)
  2. git clone <repo> <directory> # repo:Git 仓库;directory:本地目录。
  3. git clone <directory> <directory> # 从一个目录克隆到另一个目录。
3.6、查看仓库当前状态,显示有变更的文件
  1. # 查看仓库当前状态,显示有变更的文件
  2. git status -s # 通常使用 -s 参数来获得简短的输出结果
3.7、比较两个文件的不同,暂存区和工作区的差异
  1. # 比较两个文件的不同,暂存区和工作区的差异
  2. git diff [file] # 显示文件在暂存区和工作区的差异
  3. git diff --cached [file]/git diff --staged [file] # 显示暂存区和上一次提交(commit)的差异
  4. git diff [first-branch]...[second-branch] # 显示两次提交之间的差异
  5. git diff HEAD # 查看已缓存的与未缓存的所有改动
  6. git diff -stat # 显示摘要而非整个 diff
3.8、将暂存区提交到本地仓库
  1. # 将暂存区提交到本地仓库
  2. git commit -a -m "message" # -a: 修改文件后不需要执行 git add 命令,直接来提交;-m:添加提交信息
  3. git commit [file1] [file2] ... -m [message] # 提交暂存区的指定文件到本地仓库区
3.9、回退版本
  1. # 回退版本
  2. git reset [--soft|--mixed|--hard] [HEAD] # --mixed为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
  3. #### 例子:####
  4. # git reset HEAD^ #回退所有内容到上一个版本,HEAD表示当前版本,HEAD^上一个版本,HEAD^^上上一个版本。以此类推...
  5. # git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
  6. # git reset 052e # 回退到指定版本
  7. # git reset --soft HEAD~3 # 回退上上上一个版本,HEAD~0表示当前版本,HEAD~1上一个版本。以此类推...
  8. git reset --soft HEAD # --soft 参数用于回退到某个版本
  9. git reset --hard HEAD # --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
  10. # git reset --hard origin/master # 将本地的状态回退到和远程的一样
3.10、将文件从暂存区和工作区中删除
  1. # 将文件从暂存区和工作区中删除
  2. git rm <file> # 将文件从暂存区和工作区中删除,删除之前修改过且已经放到暂存区的话,必须用强制删除选项 -f
  3. git rm --cached <file> # 如果想把文件从暂存区域移除,但希望保留在当前工作目录中,使用--cached即可。
3.11、移动或重命名工作区文件
  1. # 移动或重命名工作区文件
  2. git mv -f [file] [newfile] # 如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数
3.12、查看提交历史
  1. # 查看提交历史
  2. git log # 查看历史提交记录
  3. git blame <file> # 以列表形式查看指定文件的历史修改记录
  4. git log --oneline # --oneline选项来查看历史记录的简洁的版本,反向展示:git log --reverse --oneline
  5. git log --graph # 查看历史中什么时候出现了分支、合并
  6. git log --author # 查找指定用户的提交日志
  7. git log --oneline --before={3.weeks.ago} --after={2023-04-18} --no-merges
  8. # 指定日期,可以执行几个选项:--since 和 --before,也可以用 --until 和 --after,--no-merges 选项以隐藏合并提交
3.13、远程仓库操作
  1. # 远程仓库操作
  2. git remote -v # 显示所有远程仓库
  3. git remote show [remote] # 显示某个远程仓库的信息
  4. git remote rm name # 删除远程仓库
  5. git remote rename old_name new_name # 修改仓库名
  6. # 将本地仓库和远程仓库进行关联和远程分支
  7. git remote add origin git@github.com:weilong/test.git # weilong/test.git已在远程创建,origin是自定义远程仓库主机名
  8. git push -u origin master # 给远程主机名为origin的仓库创建一个新的分支master
3.14、创建本地、远程分支,并删除
  1. # 创建本地、远程分支,并删除
  2. git checkout -b newBranch # 新创建并切换到newBranch(本地分支)
  3. git checkout -b newBranch origin/develop # 基于远程origin/develop 分支新创建并切换到newBranch(本地分支)
  4. git branch -d/-D newBranch # 删除/强制删除本地分支newBranch
  5. git push -u origin newBranch # 新创建远程分支
  6. git push --delete origin newBranch # 删除远程分支
3.15、推送、拉取
  1. # 推送、拉取
  2. git pull origin master:brantest # 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
  3. git pull 版本库 分支名 # 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
  4. git push 版本库 分支名
3.16、拉取远程分支变更
  1. # 拉取远程分支变更
  2. git fetch [origin]
  3. git fetch origin 远程分支名:本地自定义分支名 # 如果本地分支不存在就新建,否则更新(基于远程分支创建本地分支)
4、git 分支操作
4.1、查看本地分支和远程分支列表
  1. # 查看本地分支和远程分支列表
  2. git branch # 查看本地分支
  3. git branch -r # 查看远程分支列表
4.2、创建本地分支
  1. # 创建本地分支
  2. git branch newBranch 和 git checkout newBranch # 创建并且切换分支,这两条命令等价与 git checkout -b newBranch
  3. git branch newBranch oldBranch # 从现有分支创建新分支
4.3、恢复删除的分支
  1. # 恢复删除的分支
  2. 删除分支 git 只是删除指向相关提交的指针,知道删除分支时提交对象的指针就可以恢复分支
  3. git reflog # 查看相关提交的散列值
  4. git branch branch_name HEAD@{1} # 从 HEAD@{1} 提交中恢复分支
4.4、分支合并
  1. # 分支合并
  2. git merge branch2 # 假设当前所在分支为 branch1,将 branch2 分支合并到 branch1 中
  3. git reset --merge
  4. git merge --no-ff branch2 # 快进合并,使得当前落后分支到达最新分支branch2的状态后,完成合并
5、版本标签

         创建标签是针对特定提交或者分支当前版本。

5.1、git 标签操作常用命令
  1. # 显示所有标签
  2. git tag -l [1.2.*] # 可以使用模式匹配
  3. # 创建轻量标签
  4. git tag 标签名
  5. git tag 标签名 提交版本
  6. git tag 1.2.3 master -m "self define info" # 在master分支上的当前版本创建一个名为1.2.3的标签
  7. # 创建附注标签
  8. git tag -a 标签名称 -m 附注信息
  9. git tag -a 标签名称 提交版本号 -m 附注信息 # 给特定的提交版本号创建标签
  10. # 删除标签
  11. git tag -d v1.0
  12. # 查看某个版本的修改内容
  13. git show v1.0
5.2、远程标签常用命令
  1. # 1、创建远程标签
  2. # 默认情况下,git push 命令并不会把标签推送到远程仓库中,因此,我们必须手动地将本地的标签推送到远程仓库中
  3. git push origin 标签名称 # 将指定的标签上传到远程仓库(单个标签)
  4. git push origin --tags # 将所有不在远程仓库中的标签上传到远程仓库(所有标签)
  5. # 2、删除远程标签(两种方式)
  6. git push origin :/ref/tags/标签名
  7. git push origin --delete 标签名
6、总结

        本文详细介绍了 git 的安装配置,仓库、分支、标签的详细操作。掌握这些命令,足以完成 git 操作代码库。

        本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/679352
推荐阅读
相关标签
  

闽ICP备14008679号