Git常用命令介绍及应用场景


前言

由于工作需要,使用Git进行代码管理,但是对Git的命令操作不熟练,因此在此记录Gi学习过程中,常用命令的介绍及应用场景。


一、Git是什么?

Git是一个分布式版本管理系统,允许个若干不同的远端代码仓库进行交互。它直接记录快照,而非差异比较。几乎所有操作都是本地执行,只需要最后push到远程服务器保存即可。Git 中所有的数据在存储前都计算校验和(SHA-1 散列的方式),然后以校验和来引用。
Git中的文件有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)

有以下5个特点:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并发开发的分支)
  • 完全分布式
  • 有能力高效管理类似Linux内核一样的超大规模项目(速度和数据量)

二、使用步骤

1.基本工作流程

  1. 在工作区中修改文件。
  2. 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
  3. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

2.获取帮助

$ git help <verb>
$ git <verb> --help
$ man git-<verb>

例如,要想获得 git config 命令的手册,执行

$ git help config

这些命令都是无需联网就能使用的。


三、常用命令

(一)、本地操作

1.获取Git仓库

git clone <url> 

一般来说,一个新项目需要从远程服务器上,拉取一份基础框架的代码到本地上来。这时就可以通过上面的命令从远程服务器上克隆一个仓库到本地上,比如,要克隆 Git 的链接库 libgit2。

可以用下面的命令:

$ git clone https://github.com/libgit2/libgit2

命令执行后,会在当前目录下,创建一个名为“libgit2”的目录,代码全在这个目录下。


2.检查当前文件状态

git status

该命令查看哪些文件处于什么状态,同时还显示了当前所在分支


3.查看尚未暂存的文件更新了哪些部分

git diff

此命令比较的是工作目录中当前文件和暂存区域快照之间的差异。 也就是修改之后还没有暂存起来的变化内容。


4.跟踪新文件,添加到暂存区

git add <fileName> | <directory>

git add 命令使用文件或目录的路径作为参数;如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件。


5.提交更新

git commit -m "你的注释信息"

git commit 命令是把之前用 git add 命令保存到暂存区的文件,提交到Git中,形成一个快照。这时文件还是在本地上。


6.移除文件

git rm <fileName> | <directory>

git rm 命令是把文件从暂存区中和工作目录中移除,这样以后就不会出现在未跟踪文件清单中了。

如果只是想移除暂存区的文件,而不移除工作目录的文件,在 rm 后面加上 --cached 就行

git rm --cached <fileName> | <directory>

git rm 命令后面可以列出文件或者目录的名字,也可以使用 glob 模式 如:

git rm log/\*.log

7.查看提交记录

git log

git log 命令是按照时间提交先后顺序列出所有的提交,最近提交的排在最上面。可以看到每个提交的hash、作者的名字和邮箱、提交时间及说明。

如果想查看每次提交的差异可以加上 -p | --patch 如:

git log -p | --patch

如果想只显示最近N次提交 可以加上 -N 来显示 如下,显示最2次提交的差异:

git log -p -2

8.撤销操作

git commit --amend

git commit --amend 命令是当你上次提交完后,发现还有几个配置文件忘记改了,这时改完后,先通过 git add 命令提交到暂存区,在运行git comit --amend命令,即可覆盖到上一次的提交。


(二)、远程操作

1.查看远程仓库

git remote

git remote 命令会列出你指定的每一个远程仓库的简写。

加上 -v 选项 显示所有远程仓库的简写和对应的URL

git remote -v

2.添加远程仓库

git remote add <shortName> <url>

该命令会添加一个新的远程仓库,并指定方便使用的简写。

如下所示,添加一个远程仓库并命名为 pd

git remote add pb https://github.com/paulboone/ticgit

3.从远程仓库中抓取与拉取数据

git fetch <remote>

该命令会从远程仓库中拉取数据到本地上。

例如,如果你想拉取 远程的仓库中有但你没有的信息,可以运行 git fetch pb

git fetch pb

执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

注意:

  • 必须注意 git fetch 命令只会将数据下载到你的本地仓库——它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

4.推送到远程仓库

git push <remote> <branch>

该命令会把你指定的分支 推送 到你指定的远程仓库上。

例如,如果你想把master分支推送到original服务器上,就可以输入一下命令

git push original master

执行完成后,本地上的提交到所有快照全部都会备份到远程服务器上。


5.查看某个远程仓库

git remote show <remote> 

该命令会列出远程仓库的 URL 与跟踪分支的信息,并告诉你当前处于那个分支。


6.远程仓库的重命名

git remote rename 原来仓库的名称 想修改的名称

例如,想把 pd 重新命名为 tem 就可以用下面的命令

git remote rename pd tem

7.远程仓库的移除

git remote remove <remote> 或者 git remote rm <remote>

例如,不要使用 tem 这个远程仓库了,就可以用下面的命令

git remote remove tem

注意

  • 一旦你使用这种方式删除了一个远程仓库,那么所有和这个远程仓库相关的远程跟踪分支以及配置信息也会一起被删除。

四、总结

以上就是Git做项目时涉及到的常用命令和应用场景,涵盖了从远程仓库拉取代码到本地操作,到从本地修改后,推送到远程仓库的全过程。熟练掌握了这些命令基本上对日常的事务使用足够了。

猜你喜欢

转载自blog.csdn.net/xiaojie201314/article/details/126015102
今日推荐