We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
之前的文章已经学习过 git 的基础用法,这篇文章再介绍几个进阶用法
首先我们回顾一下 Git 基础用法。
我们在 GitHub 的每次提交理论上都会在 主页的下面产生一条绿色小方块的记录,如果你确认你提交了,但是没有绿色方块显示,那肯定是你提交代码配置的邮箱跟你 GitHub 上的邮箱不一致,GitHub 上的邮箱可以到 Setting -> Emails里查看。
下面介绍几个有用的进阶知识。
上面提到的基本操作,有几个使用很频繁,每次都要输入完整的单词。
使用 `alias`` 可以给这些操作七个简单的别名,就能简化输入。
基本语法是:
git config --global alias.别名 git命令
比如给 commit 和 status 起别名:
git config --global alias.ci commit git config --global alias.st status
下次再用这两个命令就可以写:
git ci git st
除了简单命令还可以设置组合命令,给组合命令加引号即可:
git config --global alias.pullom 'pull origin master' git config --global alias.pushom 'push origin master'
当然别名不是固定的,你可以根据习惯设定。
起别名后,你可以看到 .gitconfig 文件里有 alias 的配置,如果不需要某个别名,删掉即可。
.gitconfig
alias
此外,有一个厉害的 git log 命令,可以把常规的日志按结构化显示。
git log
git log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
你可以给它起名为 lg,以后打印结构化日志直接输入 git lg 就行:
lg
git lg
git config --global alias.lg "git log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
还记得 git add 会把文件放入暂存区吧,在git add 之前使用 git diff 可以显示你对某一文件的改动。
git add
git diff
红色的部分前面有个 - 代表我删除的,绿色的部分前面有个 + 代表我增加的,所以从这里你们很一目了然的知道我到底对这个文件做了哪些改动。
除此之外,git diff 还有其他用法:
git diff <$id1> <$id2> # 比较两次提交之间的差异 git diff <branch1>..<branch2> # 在两个分支之间比较 git diff --staged # 比较暂存区和版本库差异
在我们使用 Git 的时候,有时候会遇到想要回滚到某次提交之前的场景。
首先用 git log 查看版本号(commit 后面那一长串就是版本号):
找到想要回退的版本号之后,在本地 Git 仓库执行如下命令,选一个即可:
git reset --hard 版本号 (抛弃当前工作区的修改) git reset --soft 版本号 (回退到之前的版本,但保留当前工作区的修改,可以重新提交)
如果你的文件只在本地,执行上面的步骤就可以啦。
如果你的文件提交到 GitHub 上,还需要执行如下命令同步到远端:
git push origin 分支名
示本地的版本落后于远端的版本,因此我们还需要在上述命令中加上--force参数:
--force
git push origin 分支名 --force
返回目录:GitHub 入门教程 ◀
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1. Git 基础
首先我们回顾一下 Git 基础用法。
1.1 基本配置
我们在 GitHub 的每次提交理论上都会在 主页的下面产生一条绿色小方块的记录,如果你确认你提交了,但是没有绿色方块显示,那肯定是你提交代码配置的邮箱跟你 GitHub 上的邮箱不一致,GitHub 上的邮箱可以到 Setting -> Emails里查看。
1.2 基本操作
2. Git 进阶
下面介绍几个有用的进阶知识。
2.1 设置别名
上面提到的基本操作,有几个使用很频繁,每次都要输入完整的单词。
使用 `alias`` 可以给这些操作七个简单的别名,就能简化输入。
基本语法是:
比如给 commit 和 status 起别名:
下次再用这两个命令就可以写:
除了简单命令还可以设置组合命令,给组合命令加引号即可:
当然别名不是固定的,你可以根据习惯设定。
起别名后,你可以看到
.gitconfig
文件里有alias
的配置,如果不需要某个别名,删掉即可。此外,有一个厉害的
git log
命令,可以把常规的日志按结构化显示。你可以给它起名为
lg
,以后打印结构化日志直接输入git lg
就行:2.2 显示改动
还记得
git add
会把文件放入暂存区吧,在git add
之前使用git diff
可以显示你对某一文件的改动。红色的部分前面有个 - 代表我删除的,绿色的部分前面有个 + 代表我增加的,所以从这里你们很一目了然的知道我到底对这个文件做了哪些改动。
除此之外,
git diff
还有其他用法:2.3 版本回滚
在我们使用 Git 的时候,有时候会遇到想要回滚到某次提交之前的场景。
首先用
git log
查看版本号(commit 后面那一长串就是版本号):找到想要回退的版本号之后,在本地 Git 仓库执行如下命令,选一个即可:
如果你的文件只在本地,执行上面的步骤就可以啦。
如果你的文件提交到 GitHub 上,还需要执行如下命令同步到远端:
示本地的版本落后于远端的版本,因此我们还需要在上述命令中加上
--force
参数:返回目录:GitHub 入门教程 ◀
The text was updated successfully, but these errors were encountered: