Git使用手册
配置工具(Configure)
-
git config --global user.name "签名"
设置你的提交(commit)的签名(昵称),注意包含双引号
-
git config --global user.email "邮箱地址"
设置你的提交的邮箱地址,注意包含双引号
-
git config --global color.ui auto
启用命令行输出的颜色变化
git config --global user.email "[email address]
创建本地仓库(Repository)
-
git init 仓库名使用指定的名称创建新的本地存储库
-
git clone 远程仓库连接
使用下载远程仓库项目到本地(含整个项目版本)
提交(Commit)
-
git status列出所有要提交的新文件或修改文件
-
git diff列显示暂未暂存的文件差异( 显示工作树与索引或树之间的变化,索引与树之间的变化,两棵树之间的变化,两个Blob对象之间的变化或磁盘上两个文件之间的变化。)
-
git add 文件名将文件内容添加到索引,即添加文件到待提交区
-
git diff --staged显示暂存和最后一个文件版本之间的文件差异
-
git reset 文件名取消暂存文件,但保存其内容
-
git commit -m "备注"记录对仓库的修改(发生一个提交),并可以添加描述信息
本地仓库分支合并管理
-
git branch列出当前仓库所有本地分支,一般新建的本地仓库默认分支是master
-
git branch 分支名创建一个分支名为【分支名】的分支
-
git checkout 分支名切换到指定分支并更新当前工作目录
-
git merge 分支名将指定分支的历史记录合并到当前分支中
-
git branch -d 分支名
删除指定分支
文件操作
-
git rm 文件名
从工作树和索引中删除该文件,并执行该删除
-
git rm --cached 文件名仅从索引中取消阶段和删除路径。工作树文件,不管是否修改,都将保持不变
-
git mv 原文件名 新文件名
更改文件名并准备提交
禁止路径(.gitignore)
-
touch .gitignored仅创建忽视文件,(添加内容需要用文本编辑器手动添加)
-
vim .gitignored使用vim编辑器编辑(若没有则新建).gitignored文件,直接在窗口进行编辑。// vim简单操作说明在最后面说明
-
git ls-filers --other --ignored --exclude-standard列出此项目中所有被忽略的文件
-
一个.gitignore的实例
历史版本(History)
-
git log列出当前分支的版本历史记录
-
git log --follow 文件名列出文件的版本历史记录,包括重命名
-
git diff 分支1名 分支n名显示两个分支的差异
-
git show
显示一个或多个对象(斑点,树,标签和提交)。
复位(Reset)
-
git reset HEAD 提交文件用于取消已缓存的内容。
-
git reset --hard 提交丢弃所有历史记录并将更改返回到指定的提交
同步(Synchronize)
-
git fetch origin master更新跟踪远程分支,下载到本地当前的分支中
-
git log -p native_branch ..origin/master比较本地的native_branch分支和origin/master分支的差别
-
git fetch origin master:temp在本地新建一个temp分支,并将远程仓库的master分支代码下载到本地temp分支
-
git merge temp将temp分支合并到本地当前分支中(HEAD所在的分支)
-
git pull <远程库名> <远程分支名>:<本地分支名>取回远程主机某个分支的更新,再与本地的指定分支合并。
-
git pull origin master:master取回远程库中的master分支,与本地的master分支进行合并更新(如果是要与本地当前分支合并更新,则冒号后面的<本地分支名>可以不写 git pull origin master)
-
git push 将本地代码提交远程仓库将本地仓库提交远程仓库
-
git push origin develop将修改内容提交到远程仓库的develop分支
备注:要将当前文件夹中的所有文件提交到远程仓库,
先用git add . 将所有文件添加到待提交区,然后提交推送
另外如果刚接触git的不建议使用强制推送命令(git push -f ),虽然可以强制将本地的代码去覆盖远程仓库,但是风险很大(比如代码丢失,不能进行版本回滚等等),请谨慎使用
SAVE FRAGMENTS
Shelve and restore incomplete changes
$ git stash
Temporarily stores all modified tracked files
$ git stash list
Lists all stashed changesets
$ git stash pop
Restores the most recently stashed files
$ git stash drop
Discards the most recently stashed changeset
Vim编辑器的基本使用
转自****博主「Ramscy」的博文
1、vim基本使用
在终端键入vim命令和要编辑的文件的名字就可以启动vim编辑器(如在启动vim时未指定文件名,或是这个文件不存在,vim会开辟一段新的缓冲区域来编辑)。
vim编辑器有两种操作模式:
-
普通模式
-
插入模式
刚启动vim编辑器,默认进入普通模式,在这个模式下,vim编辑器会将按键解释成命令(这也是vim特殊的地方,很多没有使用过vim的人刚开始打开vim时会被这个模式吓倒,毕竟在键盘上按键但一点反应都没有的编辑器实在是少见)。
在普通模式下键入i可进入插入模式(insert。事实上,键入a或者s也可进入插入模式),在插入模式下,vim会将你在光标位置输入的每个键都插入到缓冲区(也就是直接输入到文本中,并在屏幕上打印出来)。要退出插入模式返回普通模式话,就要键入退出键(ESC键,也就是Escape键)。
在普通模式下,若是vim能正确识别你的终端类型(正常情况下应该都可以的),就可以直接使用方向键在文本区域移动光标。
vim也有独有的用来移动光标的命令。
-
h:左移一个字符
-
j :下移一个字符
-
k:上移一个字符
-
l :右移一个字符
-
Ctrl+F(PageDown):下翻一屏
-
Ctrl+B(PageUp):上翻一屏
-
G:移到缓冲区最后一行
-
num G:移到缓冲区第num行
-
gg:移到缓冲区第一行
vim编辑器在普通模式下可按冒号键:进入命令行模式,可以输入额外的命令来控制vim的行为。
-
q:如果未修改缓冲区数据,退出
-
q!:取消所有对缓冲区数据的修改并退出
-
w filename:将文件保存到另一个文件中
-
wq:将缓冲区数据保存到文件中并退出
2、在普通模式下编辑数据
-
x:删除当前光标所在位置的字符
-
dd:删除当前光标所在行
-
dw:删除当前光标所在位置的单词
-
d$:删除当前光标所在位置至行尾的内容
-
J:删除当前光标所在行行尾的换行符(拼接行)
-
u:撤销前一编辑命令
-
a:在当前光标后追加数据
-
A:在当前光标所在行行尾追加数据
-
r char:用char替换当前光标所在位置的单个字符
-
R text:用text覆盖当前光标所在位置的数据,直到按下ESC键
有些编辑命令允许使用数字修饰符来指定重复该命令多少次,如:命令2x会删除从光标当前位置开始的两个字符,命令5dd会删除从光标当前所在行开始的5行。
另外,vim编辑器在普通模式下通常会把删除键(Delete键)识别成x命令的功能,通常不识别退格键(Backspace键)。
3、复制和粘贴
vim编辑器在删除数据时,实际上会将数据保存在单独的一个寄存器中,可以用p命令取回。例如,可以用dd命令删除一行文本,然后把光标移动到缓冲区的某个要放置该文本的地方,然后用p命令,该命令会将文本插入到当前光标所在行之后。
vim编辑器中复制命令是y(代表yank),可以在y命令后面使用和d命令相同的第二字符(如:yw代表复制一个单词,y$代表复制到行尾)。在复制文本后,把光标移动到想放置文本的地方,键入p命令,复制的文本就会出现在该位置。
复制命令一般在可视模式下使用。可视模式会在移动光标的同时高亮显示文本,键入v键可进入可视模式,如下图所示。
可先在可视模式下覆盖要复制的文本,然后键入y命令来**复制命令,之后移动光标到要放置文本的位置,使用p命令将寄存器中的文本粘贴下来。
4、查找和替换
vim编辑器在普通模式下,可使用/(斜线键)来查找文本。按下/后,光标会跑到消息行,然后vim会显示出斜线。输入要查找的文本,按下回车键便可完成查找。vim编辑器会采用以下三种回应中的一种:
-
如果要查找的文本出现在光标位置之后,则光标会跳到该文本出现的第一个位置。
-
如果要查找的文本未在光标当前位置之后出现,则光标会绕过文件末尾,出现在该文本所在的第一个位置(并用一条消息指明)。
-
输出一条错误消息,说明在文件中没有找到要查找的文本。
-
要继续查找同一个文本,可键入/(斜线键),然后键入回车键。或者键入n命令,表示下一个(next)。
vim编辑器在命令行模式下可使用替换命令。替换命令的格式是::s/old/new/。vim编辑器会跳到old第一次出现的地方,并用new来替换。还可用以下命令来替换多处文本:
-
:s/old/new/g :替换一行中的所有old
-
:n,ms:/old/new/g :替换行号n和m之间的所有old
-
:%s/old/new/g :替换整个文件中的所有old
-
:%s/old/new/gc :替换整个文件中的所有old,但在每次出现时提示,询问是否要替换