从此对 Git 了然于胸

git

一、清白 Git / Github

Git 是 Linux 之父为了解决 Linux 混乱的代码管理被迫开发出来的,真牛!

Git 是当前最先进、最主流的分布式版本控制系统且免费、开源!可以帮你保存文件的所有修改记录、并使用版本号进行区分。你也可以随时通过指令浏览历史版本、还原被修改的文件到指定版本,也可以对比不同版本文件之间的差异、防止旧版本覆盖新版本等功能。这些功能就算对一个非程序员来说,利用它来管理自己电脑上的部分文件也是十分有优势的。

同时,git 支持跨区域多人协作编辑,不仅是个人管理代码的利器,更是团队项目开发的首选,所以熟练使用 git 也就成了程序员群体必备的一项技能。

而 Github 是一个主流的代码托管平台,大家可以将它理解成一个存储代码的 “网盘” ,大家可以将自己的代码传上去进行共享和维护,同样也可以从 github 上下载代码供自己使用和学习。简单的理解,Git 是个代码管理的工具,而 Github 是一个存储代码的平台。因此,两者没有必然的联系。

二、Git 原理

在 Git 中有四个概念:

  • 1,远程仓库(remote repository):就是我们 Git 的服务器,用来存储团队或我们个人的代码。
  • 2,本地仓库(local repository):将远程仓库中的代码克隆到本地仓库后,这时,我们就相当于有了一个和远程仓库内容几乎一样的本地仓库了,对仓库内容的所有操作都可以在本地离线完成,只需要等到需要的时候和远程服务进行交互即可。
  • 3,暂存区(index):就是文件暂时存放的地方。随着一个 commit 命令,所有暂存区中暂时存放的文件都被提交到本地仓库(local repository),此时本地仓库里面的文件又完全被暂存区所取代。暂存区是 git 架构很重要且难理解的一部分,这里不再深究。
  • 4,工作区(workspace):我们当前在本地文件夹看到的文件结构就是我们的工作区间。初始化工作区间或者工作区间 clean 的时候,文件内容和暂存区( index)是一致的。但是随着对文件的修改,当我们工作区的文件在没有 add 到暂存区的时候,工作区和暂存区是不一致的。这点应该不难理解。

三、Git 基础操作

1、配置 Git

配置全局用户

$ git config --global user.name "用户名"
$ git config --global user.email "git账号"

删除全局配置

$ git config --global --unset alias.xxx
$ git config --global --unset user.xxx

2、查看 Git 信息

下面看几个常见的信息查询指令:

#查看系统配置
$ git config --list

#查看用户配置
$ cat ~/ .gitconfig

#查看当前项目的 git 配置
$ cat .git/config

#查看暂存区的文件
$ git ls-files

#查看本地 git 的历史命令
$ git reflog

#查看所有 git 命令
$ git --help -a

#查看当前 HEAD 指向
$ cat .git/HEAD

3、Git 常用指令

1、add (将工作区的文件添加到暂存区)

#添加指定文件到暂存区
$ git add [file1] [file2] ...

#添加指定目录到暂存区,包括子目录
$ git add [dir]

#添加当前目录的所有文件到暂存区(追踪所有新增的文件)
$ git add .

2、status

#查看工作区和暂存区的状态
$ git status

3、commit

#将暂存区的文件提交到本地仓库并添加提交说明
$ git commit -m "本次提交的说明"

4、push

push 操作就是将本地的文件推送到远程分支。分支推送顺序的写法是 < 来源地 > : < 目的地 >。如果远程仓库没有这个分支,会新建一个同名的远程分支。如果省略远程分支名,则表示两者同名。具体例子如下:

$ git push <远程主机名> <本地分支名>:<远程分支名>
$ git push origin branchname

#不管是否存在对应的远程分支,都要将本地的所有分支推送到远程主机
$ git push --all origin

5、pull

#拉取所有远程分支到本地镜像仓库中
$ git pull

#拉取并合并项目其他分支
$ git pull origin branchname

6、branch

#查看本地分支
$ git branch

#查看远程分支
$ git branch -r

#查看所有分支
$ git branch -a

#查看所有分支及最新的提交信息
$ git branch -av

#查看本地分支对应的远程分支
$ git branch -vv

7、rm

#删除暂存区和工作区文件
$ git rm filename

#只删除暂存区的文件,不会删除工作区的文件
$ git  rm --cached filename

8、checkout

#恢复暂存区的指定文件到工作区
$ git checkout <filename>

#恢复暂存区的所有文件到工作区
$ git checkout .

#切换分支,也可以看成是回到项目当前状态的方式
$ git checkout <当前你正在使用的分支>

4、新建一个 Git 项目

新建一个 Git 项目通常有以下两种方式:

1、本地新建好 Git 项目,然后关联远程仓库

#初始化一个 Git 仓库
$ git init
#关联远程仓库
$ git remote add <name> <git-repo-url>

#例如:
$ git remote add origin https://github.com/xxxxx

2、clone 远程仓库

#前提是新建好远程仓库,然后 clone 到本地
$ git clone <git-repo-url>

#将远程仓库下载到指定文件夹(当前 git bash 启动位置下),如果没有会自动生成
$ git clone <git-repo-url> <project-name>
posted @ 2023-03-13 13:27  Charmchin  阅读(22)  评论(0编辑  收藏  举报