简介
Git作为开源的分布式版本控制系统,很多开源项目都使用Git用作版本控制。
安装
Google、百度,不予赘述。
命令补全
Git默认是无法自动补全命令,需要添加自动补全脚本。
下载自动补全脚本,放在用户主目录下,并将下面一行添加至 .bashrc
文件中。
1
| source ~/.git-completion.bash
|
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| git init // 初始化仓库 git clone [url] // 克隆现有仓库 git add -u // 将所有已跟踪的文件的改动添加至暂存区 git add -A // 将所有操作添加至暂存区 git add . // 同上 git commit <-m 添加提交说明> <-s 对本次提交签名> // 提交 git reset --soft HEAD~ // 将版本库重置为HEAD指针指向的提交的父提交,暂存区与工作区不变 git reset --mixed HEAD~ // 将版本库与暂存区重置为HEAD指针指向的提交的父提交,工作区不变 git reset HEAD~ // 缺省行为,同上 git reset --hard HEAD~ // 将版本库与暂存区和工作区重置为HEAD指针指向的提交的父提交 git checkout -- <file> // 放弃已修改的内容 git checkout <branchName> // 切换分支 git checkout -b <branchName> // 创建分支并切换 git remote // 列出所有远程主机 git remote -v // 查看远程主机的网址 git remote show <主机名> // 查看远程主机的详细信息 git remote add <主机名> <Url> // 添加远程主机 git remote rm <主机名> // 删除远程主机 git remote rename <原主机名> <新主机名> // 远程主机改名 git fetch <远程主机名> // 将远程主机的更新全部取回本地 git fetch <远程主机名> <分支名> // 获取远程主机特定分支的更新 git pull <远程主机名> <远程分支名>:<本地分支名> // 获取远程分支的更新并与本地分支合并 git pull <远程主机名> <远程分支名> // 获取远程分支更新并与当前分支合并 git push <远程主机名> <本地分支名>:<远程分支名> // 将本地分支推送至远程分支 git push <远程主机名> <本地分支名> // 将本地分支推送至存在“追踪关系”的远程分支,若远程分支不存在则会被新建 git push origin :<远程分支名> // 删除指定远程分支 git push origin --delete <远程分支名> // 同上 git log <-p 查看提交的内容差异> <-n 显示最近n次提交> git log -U1 --word-diff // 获取单词层面的对比 git log --stat // 显示简要的增改行数统计 git diff <filename> // 工作区vs暂存区 git diff <branch> <filename> // 与另一个分支比较 git diff --cached <filename> // 暂存区vs仓库 git diff --cached <commit> <filename> // 暂存区vs指导提交 git diff git diff <commit> <filename> // 工作目录vs仓库 git diff <commit> <commit> // 两次提交对比 HEAD 最近一次 commit HEAD^ 上次提交 HEAD~100 上100次提交
|
参考
Git远程操作详解
Git-远程分支,远程跟踪分支,跟踪分支的区别
代码回滚:Reset、Checkout、Revert 的选择
常用 Git 命令清单