A walk through the Magit interfacegithub
三年 Git 使用心得 & 常见问题整理segmentfault
magit status
快捷键 | 说明 |
---|---|
M-x magit-init |
相似于 git init ,在现有目录中初始化仓库 |
M-x magit-clone |
相似于 git clone ,从远端拉取仓库 |
快捷键 | 说明 |
---|---|
C-x g |
magit status 相似于 git status ,但会显示更多的内容 |
tab |
隐藏或者扩展当前的内容 |
g |
刷新当前的git 仓库状态 |
G |
刷新全部的 magit status buffer |
c-n |
下一行 |
c-p |
上一行 |
m-p |
上一个部分 |
m-n |
下一个部分 |
stage
快捷键 | 说明 |
---|---|
s |
magit-stage , 将修改添加到保留区 |
u |
magit-unstage 将修改从保留区撤销 |
commit
命令 | 说明 |
---|---|
c |
magit-commit , 进入提交选项 |
c-c |
在进入提交页面后, 再次执行命令 c , 建立新的commit |
c-a |
在进入提交页面后, 再次执行命令 a , 建立新的commit , 至关于git commit --amend |
C-c C-c |
with-editor-finish , 提交commit |
C-c C-k |
with-editor-cancel , 撤销本次提交 |
fetch/pull/push
命令 | 说明 |
---|---|
f |
magit fetch ,拉取最新的代码 |
F |
magit pull 拉取最新的代码,而且合并 |
P |
magit push 将本地代码push 到远端 |
branch
分支操做命令 | 说明 |
---|---|
b |
magit-branch ,进入分支管理 |
b-c |
至关于 命令 git checkout -b dev origin/dev ,即从远端origin/dev fork而且建立一个本地分支dev |
b-b |
替换到新的分支,git checkout branchName |
stash
使用命令 | 说明 |
---|---|
z-z |
magit-stash-both , 建立stash |
z-a |
magit-stash-apply , 应用某个具体的stash |
z-l |
查看stash 列表 |
z-p |
magit-stash-pop , 应用某个stash ,而后在stash list 中删除这个stash |
z-k |
magit-stash-drop , 删除具体的stash |
(1) 三个区域app
由于git
中有3个区域 fetch
工做目录
,即当前编辑目录spa
暂存区域
, 能够经过git add fileName
将文件添加到暂存区域rest
git本地仓库
, 能够经过git commit
将文件由暂存区域添加到本地仓库code
(2) 从未跟踪
,已跟踪未暂存
变为暂存状态
get
名称 | 说明 |
---|---|
命令 | magit-stage |
git命令 | git add |
快捷键 | s |
(3) 从已经暂存
变为已经提交
状态同步
名称 | 说明 |
---|---|
命令 | magit-commit |
git命令 | git commit |
快捷键 | c-c |
(4) 从本地git仓库
同步到远端git仓库
名称 | 说明 |
---|---|
命令 | magit-merge |
git命令 | git merge |
快捷键 | m m |
命令 | magit-pull |
git命令 | git pull |
快捷键 | F u |
命令 | magit-push |
git命令 | git push |
快捷键 | P u |
(1) 工做目录
中删除文件
名称 | 说明 |
---|---|
命令 | magit-discard |
git命令 | rm -rf fileName |
快捷键 | k |
(2) 由暂存区域
撤销到工做目录
名称 | 说明 |
---|---|
命令 | magit-unstage |
git命令 | git restore |
快捷键 | u |
命令 | 说明 |
---|---|
b-c |
建立一个新的分支, dev2 |
P-p |
由于此时远端没有新的分支,只须要push 此分支, dev2 |
F-u |
配置pull 对应的远端分支, 示例: origin/dev2 |
wrong-type-argument transient-suffix
详见issue,
具体解决方式为,从新编译 transient.el
,
从新编译的方式为 m-x byte-compile-file 具体的文件路径
GitError! refusing to merge unrelated histories
使用命令git pull --allow-unrelated-histories
git pull --allow-unrelated-histories CONFLICT (add/add): Merge conflict in .gitignore Auto-merging .gitignore Automatic merge failed; fix conflicts and then commit the result.