温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

git命令怎么用

发布时间:2021-10-21 13:43:32 来源:亿速云 阅读:158 作者:小新 栏目:开发技术

小编给大家分享一下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命令怎么用基本对象关系图

八、获取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工作区直接跟暂存区打交道暂存区跟版本库打交道。

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

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

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

十、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命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节
推荐阅读:
  1. git命令
  2. git命令总结

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

git
AI