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? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: