千家信息网

git命令怎么用

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,小编给大家分享一下git命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、查看计算机里有哪些Git版本,并选用你
千家信息网最后更新 2025年01月16日git命令怎么用

小编给大家分享一下git命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、查看计算机里有哪些Git版本,并选用你想使用的版本

1

which -a git //查看有哪些版本

配置.bash_profile文件,选择自己需要的版本

1

vim .bash_profile

加入需要制定环境相对路径

1

export PATH="/user/local/git/bin:$SPAH"

编辑好后,重新载入.bash_profile

1

source .bash_profile

二、配置自己的Git信息

配置用户名:

1

git config -- global user.name jspang

配置邮箱:

1

git config --global user.email jspang@126.com

三、Git配置的三个级别

1、system -针对于系统
2、global -针对于当前用户
3、local -针对于当前仓库

配置的优先级:local>global>system

四、如何查看Git文档

第一种方法:

1

git config --help

第二种方法:

1

git help config

五、重命名Git命令

1

2

3

4

git config --global alias.co checkout

git config --global alias.br branch

git config --global alias.st status

git cofnig --global alias.ci commit


六、Git使用40个16进制字符的SHA-1 Hash来唯一标识对象

1

e8bd40626e0af320b3c1bdf6154b44a59ed78039

七、Git的四种基本对象类型,组成了Git更高级的数据结构:

1、blobs:每个blob代表一个(版本的)文件,blob只包含文件的数据,而忽略文件的其他元数据,如名字,路径格式等。
2、trees:每个tree代表了一个目录的信息,包含了此目录下的blobs,子目录(对应于子trees),文件名、路径等元数据。因此,对于有子目录的目录,git相当于存储了嵌套的trees。
3、commits:每个commmit记录了提交一个更新的所有元数据,如指向的tree,父commit,作者、提交者、提交日期、提交日志等。每次提交都指向一个tree对象,记录了档次提交时的目录信息。一个commit可以有多个(至少一个)父commits。
4、tags:tag用于给某个上述类型的对象指配一个便于开发者记忆的名字,通常用于某次commit。

基本对象关系图

八、获取Git仓库的命令

1.git init:初始化一个Git仓库

1

git init git_test


这个命令创建了一个叫git_test 的仓库,并在你制定的目录下边建立了一个git_test文件夹。同时在文件夹中生成了.git。

1

git init --bare git_bare_test


生成一个裸的仓库,它不带.git文件,也就是不带工作区。

2.git clone:

1

git clone https://github.com/shenghy/Scroll.git

克隆一个已有的仓库,后边可以是URL也可以是本地路径。这个命令经常使用,在GitHub上看到别人好的开源项目,都可以clone下来进行一番研究了。

九、Git仓库的三个区域

1.working directory:工作区

2.staging area:暂存区

3.history repository:历史仓库

Git工作区直接跟暂存区打交道暂存区跟版本库打交道。

  • 从工作区中添加内容到暂存区。

  • 将暂存区的内容提交到版本库。

  • 从版本库中检出内容到工作区。

十、Git流程操作命令

1.git add:主要用于把我们要提交的文件信息添加到暂存区中。

1

git add -u

把所有tracked文件中被修改过或已删除文件的信息添加到暂存区。它不会处理untracted的文件。

1

git add -A

表示把所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到暂存区。

1

git add -i

查看所有修改过或已删除文件但没有提交的文件。

2.git commmit:把暂存区内容添加到版本仓库中。

1

git commit -m "提交的描述信息"

如果我们这里不用-m的参数的话,git将抵用Vim来让我们输入提交信息。

1

git commit -a -m "提交的描述信息"

我们一天可能更新了很多文档,但是我们忘记了它们的名字,此时我们将所做的全部更新添加到版本库中。

3.git status:查看工作区、暂存区和版本库的差异情况。

4.git rm:在git中我们可以通过git rm命令把一个文件删除,并把它从git的仓库管理系统中移除。但是最后要之心git commit 才真正提交到git仓库中。

1

2

git rm a

git commit -m "delete a file"

删除暂存区中的啊文件,要用-cached参数

1

git rm --cached a

5.git mv:git文件重命名或移动路径时使用命令

把文件a 从新命名为c

1

git mv a c

其实git没有重命名或移动的操作,实际上Git是一系列操作的组合。

6.gitignore:把不需要跟踪的文件添加到这个文件中就可以避免跟踪了。在这个文件中可以使用通配符。

有些时候文件夹里没有这个文件,你可以自己手动建一个.gitignore文件。

十一、Git本地创建分支

1

git branch test //新建test分支

创建了分支,我们并没有直接到这个分支上,而还是在个主分支上。我们需要用切换分支命令切换到新创建的test分支上。

1

git branch

不带参数,列出本地已经存在的分支,并且在当前分支前面会加"*"号标记。

1

git branch -r //列出远程分支

1

git branch -a //列出本地分支和远程分支

重命名分支,如果newbranch名字分支已经存在,则需要使用 -M强制重命名,否则,使用-m进行重命名。

1

git branch -m | -M oldbranch newbranch

删除branchname分支

1

git branch -d | -D branchname

删除远程 branchname分支

1

git branch -d -r branchname

十二、Git给分支起别名(也叫打标签)

git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。

  • 创建轻量标签

  • 1

    git tag v0.1.2 -light

  • 创建附注标签

  • 1

    git tag -a v0.1.2 -m "0.1.2版本"

创建轻量标签不需要传递参数,直接制定标签名称即可。
创建附注标签时,参数a即annotated的缩写,制定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。

在学习这个给分支起别名的操作前,我们要会使用一个查看Log日志的命令,用这个命令查出我们现在的Git情况,然后再给它起名。

查看版本历史示意图:

1

git log --oneline --decorate --graph --all

1

git tag "v0" 51bcb0d

当然我们查看历史版本示意图打的命令太长了,我们可以给这个命令起个别名:

1

git config --global alias.lol "log --oneline --decorate --graph --all"

以后及可以用git lol命令进行查看历史版本示意图了。

用Git命令起名为"v0",并表示他的HS值。如果不制定Hash的话,会默认制定HEAD指定的Hash(也就是当前HS),一般我们只用5-7位的Hash。

十三、分支之间的切换

1

git checkout test //切换分支到test


十四、切换分支前保存本地的修改和暂存区的修改

当我们在一个分支上作了修改,提交到了暂存区,但是没有提交到版本库中。这时我们要切换分支(比如切换到master分支 git checkout master),系统会报错,提示我们暂存区有文件没有提交。如果我们还不想提交文件,这时我们就可以使用下边的命令把暂存区的文件保存起来。

1

git stash save -a "stash2"

stash英文是藏匿的意思。当我们在其它分支工作完后,回到藏匿的分支后,如何恢复藏匿的内容那?

1)可以用命令先查看我们藏匿了什么东西。

1

git stash list

通过这个命令,会列出我们所藏匿东西的引用。

2)可以用如下命令进行还原藏匿的东西。

1

git stash pop --index stash@{0}

我们这时候用git status命令查看一下git状态,会发现我们藏匿的东西已经还原回去了。这条命令不仅恢复了藏匿的内容,并删除了藏匿区的内容,由多个动作组成。如果我们只想还原暂存区的藏匿内容,但并不删除藏匿区内容的话,可以使用下边这条命令。

1

git stash apply --index stash@{0}

我们用 git stash apply -index stash{0}命令恢复藏匿内容后,我们又想删除藏匿区内容时可以用下边这条命令。

1

git stash drop stash@{0}

如果我们不加stash@{0}引用的话,它会默认删除stash栈里最上边的那一个。如果我们有多个stash想清理的话,我们可以使用

1

git stash clear

进行清理。

十五、本地合并分支

合并分支有很多情况,有时还要处理冲突情况。这里今天不做过多介绍,只介绍一个最基本的语法。

1

git merge branchName

merge分两种

1)fast-farword merge

master分支衍生出来的

2)non-fast-farword merge

三方合并分支

十六、撤销修改

1.git checkout:还原工作区

原来我们用git checkout 命令来切换分支,今天我们学习另一个用图,用它来还原我们的工作区。案例命令如下:

1

git checkout --master.txt

这个命令其实是用暂存区的内容覆盖工作区的内容。

2.git reset:还原暂存区

当我们把工作区的内容用 git add .提交到暂存区后,我们可以使用git Reset fileName 命令来还原暂存区的内容,实例命令如下:

1

git reset master.txt

输入此命令后,可以用git status 查看Git状态,发现已经没有差别了。

还原其他历史版本信息:

1

git checkout INITIAL_COMMIT --master.txt

INITIAL_COMMIT是一个版本的引用。

1

git checkout HEAD --master.txt

3.git clean:清楚没有跟踪的文件

查看我们没有跟踪和可移除的工作区内容,也就是将要被删除的内容。

1

git clean -n

查看后我们可以下边的命令删除内容

1

git clean -f

用git clean 命令查看将要被移除.gitignore指定的不提交文件,命令如下:

1

git clean -n -x

用git clean -X -f 密令删除.gitignore,注意这里的X是大写的X

1

git clean -X -f

4.git revert:产生新的提交,覆盖以前的提交

1

git revert HEAD

十七、远程协作主要命令

git clone:克隆远端仓库到本地

1

git clone https://github.com/shy-test/test.git

通过这个命令我们已经把远程仓库克隆到我们本地来了。使用这个命令只要到工作目录,不需要再创建仓库目录,仓库目录会自己被克隆下来。

二、git fetch:获取远端仓库的所有内容,包括所有分支内容

先进入本地仓库目录,然后用git fetch命令来获取远端仓库的所有内容。相当于是从远程获取最新版本到本地,不会自动merge。

1

2

3

Git fetch origin master

git log -p master..origin/master

git merge origin/master

以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地的master分支和origin/master分支的差别,最后进行合并。
上述过程其实可以用以下更清晰的方式来进行:

1

2

3

git fetch origin master:tmp

git diff tmp

git merge tmp

从远端获取最新的版本到本地的tmp分支上,之后进行比较合并。

三、git pull,是git fetch 和 git merge的操作合并

1

git pull origin master

上述命令其实相当于git fetch 和git merge,在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。

四、git push:命令御用将本地分支的更新,推送到远程仓库主机上。

1

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

注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push 是<本地分支>:<远程分支>.
如果省略本地分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

1

git push orgin master

上面命令表示,将本地分master分支推送到origin筑基的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除指定远程分支,因为这等同于推送一个空的本地分支到远程分支。

1

2

3

git push origin : master

//等同于

git push origin ---delete master

上面命令表示删除origin主机的master分支。
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

1

git push origin

上面命令表示,将当前分支推送到origin主机的对应分支。
如果当前分支只是一个追踪分支,那么主机名都可以省略。

1

git push

如果我们想要推送一个tag的话,可以使用下边的命令:

1

git push --tags

用push删除远程分支:

1

git push --delete origin feacher

以上是"git命令怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

分支 命令 文件 内容 版本 仓库 存区 标签 工作 信息 工作区 目录 对象 切换 参数 配置 主机 历史 情况 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 安卓手机如何使用联想的服务器 数据库程序设计类二级证书 mysql查询数据库下面的表名 win7 64 数据库吗 哪个学校有网络安全与执法专业 如何更新数据库一个表的字段 嘉定区网络技术转让参考价格 数据库的外模式保证了 网管软件开发前景怎么样 数据库切换账号密码 潼南区常规软件开发流程特点 天津学成科技网络技术有限公司 网络安全的主体 天津网络安全宣传周日程 本地数据库连接名称 宁夏数字化城管软件开发 小工控主机可以装服务器系统吗 网络安全管理制度流程图 放飞科技梦想内容文字互联网 数据库中的目录和表 服务器是什么样的 rna有哪些数据库 多个数据库如何连接 中学网络安全小常识教案 计算机软件开发要学哪些 软件开发过程中的管理工具 mc服务器最低要求是什么 2021网络安全条例 finereport数据库图片 石家庄软件开发外包服务
0