Git 三剑客 ———— Git 安装与命令

介绍

 Git是目前世界上先进的分布式版本控制系统,在处理项目时十分高效。相比于SVN,SVN是集中式版本控制系统,版本库是集中放在中央服务器的,所以首先要从中央服务器得到最新的版本,维护好本地版本之后,需要把自己更新的版本推送到中央服务器。而且集中式版本控制系统是必须联网才能工作。Git是分布式版本控制系统,它没有中央服务器的,每个人的本地就是一个完整的版本库。Git 仓库中的提交记录保存的是你的目录下所有文件的快照,就像是把整个目录复制,然后再粘贴一样,但比复制粘贴优雅许多!Git 希望提交记录尽可能地轻量,因此在你每次进行提交时,它并不会盲目地复制整个目录。条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。Git 还保存了提交的历史记录。这也是为什么大多数提交记录的上面都有父节点的原因。对于项目组的成员来说,维护提交历史对大家都有好处。

安装

 Git的安装包我们可以从Git 官网下载。Git 支持MacOS,Linux/Unix 和 Windows等操作环境。具体的大家可以依照各自需求来完成安装。
在这里插入图片描述

本地建库

  1. 创建一个目标路径在这里插入图片描述
  2. 进入Git bash
    在这里插入图片描述
  3. 在如下页面输入 git init
    在这里插入图片描述
    4.回复窗口中的信息表示你已经在本地建立了一个Git 库。但是你会发现,你无法看到 .git 的文件夹。这是因为系统将它隐藏起来了。如果你想看到这个文件夹,可以通过如下操作获取到。
    在这里插入图片描述

远程建库

 通常来说,我们建立远程库一般会是在Github上面,如果项目有自己的远程库,则可以忽略该部分。这里主要介绍如何在Github上面建立自己的远程库。

  1. 登录Github。如果没有账号,请先注册。
    在这里插入图片描述
  2. 创建SSH key。如果在你用户的目录下有.ssh的话,可以直接使用,如果没有的话,请在Git bash 中输入 ssh-keygen - o 完成密钥的生成。 在这里插入图片描述
  3. 进入到Github账号的setting里面
    在这里插入图片描述
  4. 选择 SSH and GPG keys 中的 New SSH keys 在这里插入图片描述
  5. 输入第二步中获取到的ssh key
    在这里插入图片描述
  6. Github上新建一个工程来实现本地库与远程库的同步管理。
    在这里插入图片描述
  7. 输入完信息之后,我们就可以创建了一个新的库。 在这里插入图片描述
  8. 回到本地的仓库,我们这个时候将本地库中的内容上传至我们Github中的库。输入命令 git remote add origin https://github.com/Forever-Youth/temp.git 或者 git push -u origin master,就可以完成本地库的上传。
    在这里插入图片描述

Git 常用命令

  1. git clone Git repository URL from Github(http 连接)
      下载现有的Git 库。

在这里插入图片描述

  1. git init
      在目录中创建新的 Git 仓库并初始化。初始化完成之后,可以生成一个 .git 的隐藏文件夹
    在这里插入图片描述

  2. git add [file1] [file2] …
      将添加一个或多个文件到暂存区。添加之后不会有提示。
    在这里插入图片描述

  3. git add [dir]
     添加指定目录到暂存区,包括子目录。
    在这里插入图片描述

  4. git add .
     添加当前目录下的所有文件到暂存区
    在这里插入图片描述

  5. git status
      用于查看项目的当前状态,显示有变更的文件。这里我将前面三个命令添加剂到暂存区。
    在这里插入图片描述

    扫描二维码关注公众号,回复: 13183149 查看本文章
  6. git status -s
     使用 -s 参数来获得简短的输出结果。M 状态的意思是这个文件在我们将它添加到缓存之后又有改动。
    在这里插入图片描述
    ’ ’  (空格)表示文件未发生更改
    M  表示文件发生改动。
    A  表示新增文件。
    D  表示删除文件。
    R  表示重命名。
    C  表示复制。
    U  表示更新但未合并。
    ?  表示未跟踪文件。
    !  表示忽略文件。
    未跟踪和忽略文件会显示相同的两列,如 ??

  7. git diff [file]
     显示暂存区和工作区的差异。可以通过该命令查询得到本地与库之间的差异。
    在这里插入图片描述

  8. git diff --cached [file] / git diff --staged [file]
     显示暂存区和上一次提交(commit)的差异 。在你没有提交上传至暂存区的时候,你无法通过命令(git diff --cached filename) 来获取库与本地的差异。
    在这里插入图片描述

  9. git commit
     将暂存区内容添加到本地仓库中。在整个过程中,git会请求你为本次提交进行一个备注。如果使用git 自身携带的编译器,十分的不方便,这边推荐将打开方式配置成notepad++ 。下载连接已附上。
    在这里插入图片描述

  10. git commit -m [message]
      [message] 可以是一些备注信息
    在这里插入图片描述

  11. git commit [file1] [file2] … -m [message]
      提交暂存区的指定文件到仓库区
    在这里插入图片描述

  12. git commit -a
      -a 参数设置修改文件后不需要执行 git add 命令,直接来提交

  13. git reset [–soft | --mixed | --hard] [HEAD]
     --mixed 为默认,可以不用带该参数,
     --soft 参数用于回退到某个版本
     --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
     用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变
      这里对HEAD参数进行一个说明:
      HEAD / HEAD~0 表示当前版本
      HEAD^ / HEAD~1 上一个版本
      HEAD^^ / HEAD~2上上一个版本
      HEAD^^^ / HEAD~3 上上上一个版本
      …
    在这里插入图片描述
     这里可以通过跟下方git log读取到的信息作比较,本地库中的版本已经回推到 “add a new file” 阶段。

  14. git reset HEAD
      用于取消已缓存的内容;取消之前 git add 添加,但不希望包含在下一提交快照中的缓存

  15. git rm
      将文件从暂存区和工作区中删除。如果没有相关的内容,git 会有提示。
    在这里插入图片描述

  16. git rm -f
      强行从暂存区和工作区中删除修改后的文件

  17. git rm --cached
      把文件从暂存区域移除,但仍然希望保留在当前工作目录中

  18. git rm –r *
      递归删除整个目录中的所有子目录和文件

  19. git mv [file] [newfile]
     用于移动或重命名一个文件、目录或软连接

  20. git mv -f [file] [newfile]
     新文件名已经存在,但还是要重命名它,可以使用 -f 参数

  21. git log
      查看历史提交记录
    在这里插入图片描述

  22. Q
     退出 git log的查询状态
    在这里插入图片描述

  23. git blame [file]
      以列表形式查看指定文件的历史修改记录
    在这里插入图片描述

  24. git remote -v
      显示所有远程仓库

  25. git remote show [remote]
      显示某个远程仓库的信息

  26. git remote add [shortname] [url]
      添加远程版本库,shortname 为本地的版本库

  27. git remote rm name
      删除远程仓库

  28. git remote rename old_name new_name
      修改仓库名

  29. git fetch
      用于从远程获取代码库

  30. git merge
     从远端仓库提取数据并尝试合并到当前分支

  31. git pull <远程主机名> <远程分支名>:<本地分支名>
     将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并

  32. git push <远程主机名> <本地分支名>:<远程分支名>
     将本地的分支版本上传到远程并合并

  33. git ls-files
     查询本地仓库中的文件
    在这里插入图片描述

  34. git branch
     查询分支情况
    在这里插入图片描述

  35. git branch [branch name]
     新建一个分支
    在这里插入图片描述

  36. git checkout [branch name]
     在各个分支之间切换(标绿的表示当前分支,也可以从蓝色字体看到)
    在这里插入图片描述

后续如有更新和更正,也会同步到此。

猜你喜欢

转载自blog.csdn.net/qq_42957717/article/details/119865902