官方网址
https://git-scm.com/book/zh/v2/
使用前的准备
项目配置优先生效,如果没有项目配置,则使用全局配置。
服务器 Git
常用命令
Getting and Creating Projects
clone
git clone <repository>
克隆仓库。默认克隆全部分支。
git clone -b <branch> <repository> <dirname>
指定克隆某个分支。如果只需要一个分支,可以使用此命令,减少 clone 时间。
执行了这条命令之后自动在当前文件夹下初始化本地库且克隆了远程库,提供了一个名为 origin 的指向远程库的别名。
注意:
(1) windows 的凭据管理器会记住你的登录信息并不再需要登录,因此在同一机器上想要达到不同角色 push 的效果时需注意。
(2) 通过添加 -b 参数可以指定克隆的分支。long style: –branch
(3) dirname 表示生成的本地文件夹名称,默认为仓库名
Branching and Merging
branch
可以简写为 git branch
,列出本地存在的分支。当前分支会以绿色高亮并带 * 前缀。short style: git branch -l
git branch --remote
列出远程分支,short style: git branch -r
git branch --all
列出所有分支,short style: git branch -a
git branch --list <pattern>
使用 shell 通配符列出 branch,pattern 可以传入多个,它们之间是 “或” 关系,即匹配任意一个即可。
git branch -d <branch>
删除分支。或者:git branch -D <branch>
git branch -m <oldbranch> <newbranch>
重命名分支。如果
git branch --set-upstream-to=<远程主机>/<远程分支> <本地分支>
reset
撤销 add
1 | edit |
- 你愉快地在做某件事,发现这些文件的更改都完成了。你不想在
git diff
看到他们,因为你打算操作别的文件了,这些文件的更改可能会干扰你的注意力。 - 有人让你 pull,这些更改听起来值得合并
- 但是,你已经弄脏了 index(例如,你的 index 并不匹配
HEAD
commit)。但你知道,你打算 pull 的操作并不会影响frotz.c
或者filfre.c
,因此你 revert 对这两个文件索引的更改。在工作树中你的更改仍然存在。 - 然后,你可以 pull 且 merge,
frotz.c
和filefre.c
的更改仍然在工作树
remote
管理被跟踪仓库的设置
git remote [-v | --verbose]
查看所有的别名。
-v | –verbose 表示显示更详细内容。
git remote add <别名> <地址>
给远程库添加别名。
git remote rename <old> <new>
将名为 <old>
的 remote 重命名为 <new>
。更新所有远程跟踪分支和配置设置。
git remote remove <name>
删除名为 <name>
的 remote。所有 跟踪的 remote 分支和配置设置都会被删除。
checkout
git checkout <branch>
切换分支。
情况一
情况二
情况三
用法:git checkout .
可以以当前所在目录为根,递归丢弃当前文件夹下所有改动,对于 PHP 线上调试还原比较有用。
git checkout -b <branch>
等价于 git branch <branch>
+ git checkout <branch>
,但如果 git branch <branch>
不允许创建重名分支。
git checkout -B <branch>
情况一 如果
情况二 如果
将 dev 分支的某个文件改动合并到 master
1 | # 切换到 master |
rm
git rm --cached <file>
删除文件缓存。可以将已经被 git 跟踪,但从此不想被跟踪的文件进行缓存删除。
git rm -r --cached <dir>
删除文件夹缓存。可以将已经被 git 跟踪,但从此不想被跟踪的文件进行缓存删除。-r 代表递归,用于文件夹。
删除一个 maven 项目下所有 target 文件夹的跟踪:
1 | git rm --cache -r --ignore-unmatch */target |
Administration
clean
删除所有未跟踪的文件
1 | git clean -d -f |
stash
git stash
创建储藏
git stash list
查看贮藏
git stash apply
使用贮藏。默认使用最近的一个,如果要指定最近的第二个,则 git stash apply stash@{2}
config
修改 git log 显示格式
1 | # 本地仓库格式修改 |
凭证存储
凭证存储涉及到免密登录
IDE 的使用
Eclipse 如何给没有 git 版本控制的项目添加版本控制?
Github 访问慢
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章