安装

官网:git-scm.com; choco install git -y,或者choco install git.protable -y,Git 完整版本会自动给你添加右键菜单。

帮助:git command --help

git config 配置工具

git config --list 查看所有配置信息。

~/.gitconfig 是全局配置文件所在处,对所有仓库都有效,使用 --global参数修改,只需要运行一次;.git/config 是库配置文件,修改某项目使用 --local 参数,--local 可以省略。

git config --global user.name "[name]":对你的commit操作设置全局关联的用户名

git config --global user.email "[email address]":对你的commit操作设置关联的邮箱地址

git config --global color.ui auto:启用有帮助的彩色命令行输出

git config --global alias.[alias-name] 'cmd' 设置别名,例如 git config --global alias.l 'log -3 --pretty = online'

git config --global core.quotepath false:中文显示

git config --gloabal core.ignorecase false:区分大小写

git init, git clone 创建仓库

当着手于一个新的仓库时,你只需创建一次。要么在本地创建,然后推送到 GitHub;要么通过 clone 一个现有仓库。

git init:在使用过 git init命令后,使用以下命令将本地仓库与一个 GitHub 上的空仓库连接起来:git init 直接使用表示将现有的目录转换为 Git 库,git init [directoy]表示新建一个名目录并将其使用为库。

git remote add origin [url]连接远程库;git remove -v查看已经连接的远程库;git remote remove [name]删除。

git push -u origin [branch-name] 用于创建首次推送分支;git push -u origin [branch name] 本地库第一次上传远端,一般是 master 或者 main。

git clone [url]Clone(下载)一个已存在于 GitHub 上的仓库,包括所有的文件、分支和提交(commits);自动连接其中远程库;git clone [url] -branch [BranchNname] --single-branch 下载单个分支

分支

分支是使用 Git 工作的一个重要部分。你做的任何提交都会发生在当前"checked
out"到的分支上。使用 git status查看那是哪个分支。

git branch [branch-name]:创建一个新分支

git checkout [branch-name]:切换到指定分支并更新工作目录(working directory);git checkout -b [branch name]创建并且切换

git merge [branch]:将指定分支的历史合并到当前分支。

git branch -d [branch-name]:删除指定分支

.gitignore 文件

有时一些文件不用 Git 跟踪。这通常在名为 .gitignore的特殊文件中完成。你可以在 这里 找到有用的 .gitignore模板

git add; git commit 进行更改

浏览并检查项目文件的发展

git log:列出当前分支的版本历史

git log --follow [file]:列出文件的版本历史,包括重命名

git diff [first-branch]...[second-branch]:展示详细差异;默认展示已修改和上一次已提交的差异

git show [commit]:输出指定commit的元数据和内容变化

git add [file]:将文件进行快照处理用于版本控制;git add . 将库中所有文件都提交到缓冲区;git add -u只将修改和新增的文件提交至缓冲区。git add [directoy]将某个目录提交至缓冲区。

git commit -m "[descriptive message]":将文件快照永久地记录在版本历史中;git commit -am "descriptive commit message"跳过 add ,直接监控以往监控过的文件,进行提交。

重做提交

清除错误和构建用于替换的历史

git restore [file]:还原未提交的修改,回到上一次提交的状态

git commit --amend:使用本次暂存区的修改覆盖上一次的提交

git revert [commit] :某次提交,将其修改还原,做新的提交

git reset [commit]:撤销所有 [commit]后的的提交,指针移动。在本地保存更改git reset --hard [commit] ,危险操作。

以上命令,除了git revert之外,都需要 git push -f强制同步远程

同步更改

将你本地仓库与 GitHub.com 上的远端仓库同步

git fetch:下载远端跟踪分支的所有历史

git merge:将远端跟踪分支合并到当前本地分支

git push:将所有本地分支提交上传到 GitHub;会提示授权,现在可以直接通过网页授权,无需 SSH。

git pull:使用来自 GitHub的对应远端分支的所有新提交更新你当前的本地工作分支。git pull
git fetchgit merge的结合

示例脚本

$count = [System.IO.Directory]::GetFiles("D:\Blog\source\_posts").Count
$date = Get-Date -Format 'yyyy-M-d H:m'

cd D:\Blog
rm D:\Blog\public\* -Recurse
hexo g

cd C:\Users\Mirtle\Documents\GitHub\blog
git add .\build\
rm C:\Users\mirtle\Documents\GitHub\blog\build\* -Recurse
cp D:\Blog\public\* C:\Users\mirtle\Documents\GitHub\blog\build -Recurse

git commit -m "$count $date"
git push
exit

外部链接

  1. https://training.github.com/downloads/zh_CN/github-git-cheat-sheet/
  2. https://github.com/git-guides/
  3. https://git-scm.com/book