git命令

1、配置用户配置文件

git config命令配置git配置文件。至少可以设置的是用户名和电子邮件地址。Git允许用户全局或基于项目配置这些策略。

$ git config user.name "273992029"
$ git config user.email root@linuxidc.net

添加--global选项以全局设置这些策略。

$ git config --global user.name "273992029"
$ git config --global user.email root@linuxidc.net

2、初始化Git仓库

$ git init

3、添加项目文件

//git add file
$ git add *

4、验证添加的文件

使用git status命令验证将在下一次提交期间暂存的文件。它将显示所有新文件或已更改的文件。

$ git status

5、提交对存储库的更改

提交更改时,git会捕获代码库的快照。这就是git跟踪更改并提供版本控制的方式,

使用-m选项,则可以直接添加描述。

$  git commit -m "Linuxidc Commit"

6.显示日志

只要想查看对存储库所做的更改,就可以查看日志。使用git log命令执行此操作即可。

$ git log               //显示有关git提交的一般信息
$ git log --file        //查看特定文件中的更改

7、验证项目分支

git分支代表项目中的独立开发线。使用git branch命令非常轻松地检查当前分支。它会显示正在开发新功能或修改较旧功能的当前活动分支。

$ git branch
* master               //输出将使用星号(*)标记当前分支

8、重置项目分支

将当前存储库和工作目录重置为已知状态。git reset命令将把HEAD引用调整为特定的提交,并相应地更新索引以匹配该特定的提交。

$ git reset
$ git reset --soft   //当前分支执行软重置
$ git reset --hard  //执行硬重置

9、添加一个新分支

不能使用相同的分支名称添加多个分支。将导致致命错误

$ git branch new-linuxidc   //新创建的分支,为new-linuxidc
$ git branch       //验证添加是否成功

10、在分支之间切换

git branch命令来验证这一点

$ git checkout new-linuxidc      //分支已成功切换 new-linuxidc
$ git branch      //验证这一点

11、删除项目分支

成功开发新功能后,希望它们添加到git master分支中。完成此操作后,可以完全删除该分支。git命令的-D选项使我们可以很容易地做到这一点。

离开分支才能成功删除它。否则git会抛出错误

$ git checkout master  //切换到分支 'master'
$ git branch -D new-linuxidc    //已删除分支 new-linuxidc

12、检查提交,树和文件之间的差异

git diff命令允许我们在提交之间以及在blob对象之间查看两个多个文件(工作树和索引树)的更改

git diff     //显示工作树和索引树之间的更改
git diff new-linuxidc master  //显示master分支和new-linuxidc分支之间更改

13、合并两个分支

$ git merge fixes new-linuxidc
$ git merge -s ours obsolete
$ git merge --no-commit main

第一个合并两个分支的新功能并进行修复以创建一个分支。

第二个使用我们的策略将obsol]分支合并到当前开发分支。

第三个将分支main合并到当前分支,但禁用自动提交。

14、还原现有提交

有时,可能会决定不再需要某些提交。在这种情况下,还原这些提交比完全修改分支更好。

$ git revert 482b4bebada278b29001338411de7c42743065d5
$ git revert HEAD~3

第一个示例将还原由提交ID 482b4bebada278b29001338411de7c42743065d5引入的更改。

第二个示例使HEAD中的第四个最后提交重复执行,并执行一个新的提交。

15、隐藏工作目录

当陷入混乱情况时,开发人员通常使用此命令。它允许他们存储不整洁的工作流程,并稍后再解决。使用存储列表命令查看存储列表。

git stash
git stash list

16、克隆仓库

将所述项目下载到系统的test-dir目录中。

git clone <GIT:URL>
git clone git://example.com/git.git/ test-dir

17、提取新更新

此命令将使用协作者所做的任何新更新来更新项目的本地版本。切记在获取最新更新之前将工作目录更改为项目目录。

git pull

18、推送您的更新

git push和git commit之间的区别在于,当您提交某些更改时,它们将被添加到本地存储库而不是远程存储库中。

git push    //更新添加到项目的远程存储库

19、显示远程存储库

git remote命令使我们可以从Linux终端方便地管理一组跟踪的存储库。您可以使用它仅克隆某些选定的分支。

git remote   //显示当前配置的所有远程存储库
git remote --verbose    //显示有关此信息的详细信息。

20、连接到远程仓库

设置远程仓库,以便将本地仓库连接到远程服务器。

$ git remote add origin <服务器>

上面的命令会将" origin"作为远程名称添加到服务器。您可以通过浏览GitHub存储库的Source子选项卡来发现服务器URL 。

21、将标签添加到您的项目

标签使您可以标记开源项目中的重要事件。

 git tag 1.0.0 new-linuxidc
git tag 1.0.0 new-linuxidc

此命令将标签1.0.0添加到特定的提交。您可以使用以下命令获取commit-id(new-linuxidc)。

 git log

commit 482b4bebada278b29001338411de7c42743065d5 (HEAD -> new-linuxidc, tag: 1.0.0, master)

将标签推送到您的远程仓库中。

您需要明确指定--tags选项。否则,标签只会添加到您的本地仓库中,而不会添加到远程仓库中。

$ git push origin --tags

22、获取远程数据

检查远程代码库最新进度而又不破坏项目自己版本的绝佳方法。一旦确定所有新数据都可以使用,只需将它们合并到本地分支即可。

$ git fetch origin

23、恢复未提交的更改

git restore命令允许开发人员恢复其项目中所有未提交的更改。这些是您对项目的工作版本或本地索引中的内容所做的更改。您可以使用此命令来还原工作副本中的更改或索引中的更改,或者同时执行这两个操作。

$ git restore --staged linuxidc1.py
$ git restore --source=HEAD --staged --worktree linuxidc1.py

第一个命令将还原索引中的文件linuxidc1.py

第二个命令将还原索引和项目的当前工作目录。

24、删除文件

有时,您可能希望从工作树或项目索引中完全删除一些文件。但是,此命令不会从您的工作目录中删除指定的文件

$ git rm *.py   //从工作树和索引中删除所有py文件
$ git rm -r dir/    //从dir/目录中删除所有内容
$ git rm --cached *.py   //从索引而不是工作树中删除所有py文件。

25、移动或重命名文件

您可以使用git移动或重命名文件,就像使用Linux mv命令一样。

git mv linuxidc1.py linuxidc11.py

上面的命令只是执行以下Linux操作。

$ mv test.py new-test.py

$ git add new-test.py

$ rm test.py

因此,您可以使用git mv命令来避免输入大量额外的Linux终端命令。

26、清理未跟踪的文件

未跟踪的文件是不在git版本控制系统下的文件

$ git clean

fatal: clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作

上面的命令失败,因为这是在我的系统中配置git的方式。您可以通过添加-n,-i或-f选项来解决此问题。

27、优化本地仓库

用于垃圾收集,将帮助您减小本地仓库的大小。

清理了本地仓库中所有不必要的文件

$ git gc

28、存档本地仓库

将仓库存储在名为test的tar文件中。如果需要,可以省略--format选项。在这种情况下,git将尝试从名称中推断出存档格式。此命令还有更多选项可用。

$ git archive --output=test --format=tar master

29、搜索模式

$ git grep -iw 'import' master  //在master分支中显示所有包含" import"的行
$ git grep 'import' $(git rev-list --all)  //在所有提交和分支中搜索给定的模式

30、管理工作树

开发人员可以在git中使用多个工作树。当签出多个项目分支时,这很有用。检查以下git命令,以了解如何在git中管理工作树。

$ git worktree list    //显示当前的工作树
$ git worktree add new-branch  //添加一个新的"链接的工作树"
$ git worktree remove new-branch   //删除该树
$ git worktree prune   //允许修剪工作树信息

31、删除未跟踪的对象

第一条命令不会删除任何内容,只会显示修剪后会删除的对象。第二条命令在删除期间提供详细的输出以及进度报告。您可以使用prune命令和git gc命令一起优化仓库。

$ git prune --dry-run  //
$ git prune --verbose --progress

32、打包未归档文件

在git中,包是单个压缩对象的集合。Git对这些对象应用增量压缩并将其存储在单个文件中。它们用于减少Linux文件系统或镜像系统上的负载。git repack命令允许用户创建新的包,这些包由不位于现有包内的对象组成。

可以将此命令与gic gc和git prune一起使用,以优化git仓库

$ git repack

33、计算解包的对象数量

查看解包对象的数量及其消耗的磁盘空间。

命令来确定是否应该重新打包git。您可以添加--verbose标志以获取详细信息,

$ git count-objects

34、验证对象数据库

此命令来验证连接性并执行对象的完整性检查。

$ git fsck  //显示在对象数据库中找到的所有损坏的对象。它是查找丢失或不良对象的最有用的git命令之一

35、显示每次提交的更改

将使用提交日志和diff输出显示信息。与git log命令非常相似。

$ git whatchanged

36、汇总日志信息

查看历史记录。

添加--email选项将显示每个作者的电子邮件。该-summary选项会抑制通常输出,只会显示提交的数目

$ git shortlog
$ git shortlog --email --summary

37、管理配置选项

git有大量可用的配置选项。您可以使用git config命令查询,设置或替换各种选项。可以对特定仓库和全局配置进行更改。

$ git config --list
$ git config --help

38、Git帮助

$ git help
$ git --help
$ git <command> --help
$ git commit --help

39、手册页

手册页包含有关git版本控制系统及其所有子命令的深入信息

$ man git
$ man git commit

40、显示版本信息

$ git --version
相关推荐
但老师5 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y5 小时前
git创建分支
git
Elastic 中国社区官方博客9 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
掘金-我是哪吒9 小时前
微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka
redis·mysql·mongodb·elasticsearch·微服务
研究是为了理解10 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT11 小时前
Git 的基本概念和使用方式
git
Winston Wood14 小时前
一文了解git TAG
git·版本控制
晨欣14 小时前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene
喵喵先森14 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu54316 小时前
反向代理模块
linux·开发语言·网络·git