zl程序教程

您现在的位置是:首页 >  工具

当前栏目

GitHub秘籍 : git 篇

GitHubGit 秘籍
2023-09-11 14:16:09 时间

进一步了解 Git 分支.

Stripspace命令

Git Stripspace命令可以:

去掉行尾空白符 多个空行压缩成一行 必要时在文件末尾增加一个空行

使用此命令时必须传入一个文件,像这样:


$ git stripspace README.md

进一步了解 Git stripspace 命令.

检出Pull Requests

Pull Request是一种GitHub上可以通过以下多种方式在本地被检索的特别分支:

检索某个分支并临时储存在本地的FETCH_HEAD中以便快速查看更改(diff)以及合并(merge):


$ git fetch origin refs/pull/[PR-Number]/head

通过refspec获取所有的Pull Request为本地分支:


$ git fetch origin +refs/pull/*/head:refs/remotes/origin/pr/*

或在仓库的.git/config中加入下列设置来自动获取远程仓库中的Pull Request



对基于派生库的Pull Request,可以通过先checkout代表此Pull Request的远端分支再由此分支建立一个本地分支:


$ git checkout pr/42 pr-42

进一步了解如何检出pull request到本地.

提交空改动 :trollface:

可以使用--allow-empty选项强制创建一个没有任何改动的提交:


$ git commit -m "Big-ass commit" --allow-empty

这样做在如下几种情况下是有意义的:

标记一批工作或一个新功能的开始。 记录你对项目进行了跟代码无关的改动。 跟使用你仓库的其他人交流。 作为仓库的第一次提交,因为第一次提交日后是不能被rebase的: git commit -m "init repo" --allow-empty. 更直观的Git Status

在命令行输入如下命令:


$ git status

可以看到:

git status

git status

加上-sb选项:


$ git status -sb

这回得到:

git status -sb

git status -sb

进一步了解 Git status 命令.

更直观的Git Log

输入如下命令:


$ git log --all --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) %an %Creset --abbrev-commit --date=relative

可以看到:

git log --all --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) %an %Creset --abbrev-commit --date=relative

git log --all --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) %an %Creset --abbrev-commit --date=relative

这要归功于Palesz在stackoverflow的回答。

这个命令可以被用作别名,详细做法见这里

进一步了解 Git log 命令.

Git查询

Git查询运行你在之前的所有提交信息里进行搜索,找到其中和搜索条件相匹配的最近的一条。


$ git show :/query

这里 query (区别大小写)是你想要搜索的词语, 这条命令会找到包含这个词语的最后那个提交并显示变动详情。


$ git show :/typo

git show :/query

git show :/query

按 q 键退出命令。*

输入命令:


$ git branch --merged

这会显示所有已经合并到你当前分支的分支列表。

相反地:


$ git branch --no-merged

会显示所有还没有合并到你当前分支的分支列表。

进一步了解 Git branch 命令.


使用网页查看本地仓库

使用Git的 instaweb 可以立即在 gitweb中浏览你的工作仓库。这个命令是个简单的脚步,配置了gitweb和用来浏览本地仓库的Web服务器。(译者注:默认需要lighttpd支持)


$ git instaweb

执行后打开:

Git instaweb

Git instaweb

进一步了解 Git instaweb 命令.

Git配置

所有Git配置都保存在你的.gitconfig 文件中。

Git命令自定义别名

别名用来帮助你定义自己的git命令。比如你可以定义 git a 来运行 git add --all。

要添加一个别名, 一种方法是打开 ~/.gitconfig 文件并添加如下内容:



git lg git log --color --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) %an %Creset --abbrev-commit -- git config --global alias.lg "log --color --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) %an %Creset --abbrev-commit --"
大白话解释 Git 和 GitHub 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有个全局概念。本文不涉及代码,不用下载啥东西,循序渐进,不关注繁复细节,只有文字和一些不怎么漂亮的手绘涂鸦。
Git之使用GitHub搭建远程仓库 在上一节中,我们学习了如何使用Git,构建我们的本地仓库,轻松的实现了版本控制以及代码还原,修改日志查看等;读者肯定不满足与本地是吧,假如是多个人一起来开发一个程序呢?我们需要一个作为服务器的远程仓库!当然搭建一个服务器是需要成本的,为什么不把项目托管到Github上呢?作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法,不需要任何成本,为何不使用呢?本节就来学习如何把我们的代码托管到Github上!
git,github,gitlab,码云的区别 码云https://gitee.com/enterprises?from=tg-6-7是开源中国社区推出的基于git的代码托管服务平台,基于gitlab。目前招商银行,中国科学技术大学,CSDN等多家企业和机构都在使用码云平台