在线文档地址: https://git-scm.com/docs/git-diff
配置工具(Configure)
设置你的提交(commit)的签名(昵称),注意包含双引号
设置你的提交的邮箱地址,注意包含双引号
启用命令行输出的颜色变化
git config --global user.email "[email address]
创建本地仓库(Repository)
-
git init 仓库名
使用指定的名称创建新的本地存储库
-
git clone 远程仓库连接
使用下载远程仓库项目到本地(含整个项目版本)
提交(Commit)
本地仓库分支合并管理
删除指定分支
文件操作
从工作树和索引中删除该文件,并执行该删除
更改文件名并准备提交
禁止路径(
.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编辑器的基本使用
转自CSDN博主「Ramscy」的博文
原文链接: https://blog.csdn.net/qq_43432935/article/details/92013718
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、在普通模式下编辑数据
有些编辑命令允许使用数字修饰符来指定重复该命令多少次,如:命令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,但在每次出现时提示,询问是否要替换