目录
这个文章只是给啥都不知道的小小白看
文中黄色的字是要你自己改成自己需要的名字/路径等
1. 几条必要命令
git clone url | 拷贝项目 |
git fetch | 获取远端分支的最新提交记录,注意了,这个操作不会动到本地分支 |
git pull | 拉取远端分支的最新提交记录,并与本地相同的分支合并 |
git status | 查看有修改的文件 |
git add filepath | 添加有修改的文件到待提交栏 |
git commit -m 'some description' | 提交修改 |
git push | 推送到远端 |
2. 看!这几条也挺有用又很好理解
git log | 查看分支提交历史;当然了,想看漂亮的分支图可以通过什么SmartGit,Sourcetree等 |
git branch -a | 查看远端&本地 的所有分支;去掉-a看的是本地所有分支 |
git checkout branch_name | 切换到其他分支上操作,比方git checkout develop |
git checkout -b new_branch_name | 创建一个新分支并切换到该分支上,比方git checkout -b feature/home 如果你只想新建分支但不打算切换过去,则git branch feature/home |
git remote prune origin | remote:远程;prune:删除; 这个命令才是更新远端的分支状态; |
git reset -- filepath | 比方你打了命令git add filepath 即把某修改的文件加入待提交块,现在又反悔了,那就打git reset -- filepath 重置文件状态 |
git checkout filepath | 注意了,这里的checkout和前面的切换不同,这里是删除该文件的修改内容; 即改为还没动过的状态 |
git stash | 存储的意思 会把当前有修改的文件(不包括新增的文件)放到存储区; 执行后打命令git status将看不到所有有修改的文件; 之后再打 git stash pop将把最后一个推入存储栈的所有文件再吐出来 当然了,stash还有好几个其他好用的命令,如 stash list,stash clear等等 |
git diff filepath | 查看文件具体修改了什么内容 (还可以查看某次提交都改了啥,也可以直接一次性看所有有修改的文件具体修改的内容) |
3. 平时你还可能会用这几条
git rebase hash_number || other_branch | 变基,具体可以再上网查查 git rebase hash_number 为当前的这批节点想在某节点之上 git rebase other_branch 为当前分支想基于某分支,即在某分支之上 |
git rebase --continue git rebase --abort | 这两条命令用于进行rebase操作是发现有冲突用到的; 解决完冲突后,把修改内容add进待提交区; 执行--continue表示当次冲突已解决,继续下一步变基,直到没有冲突; --abort是你解决冲突时搞得乱七八糟,想重来就执行abort; |
git cherry-pick hash_number | 把其他分支上的某节点复制过来放到当前分支上 |
git commit --amend git push -f | 这里是两条命令 git commit --amend修改上一次提交,你可能是想把当前的修改内容和上次提交合并,而不想产生两条提交记录 做了合并操作后,还要把远端的分支给覆盖了,直接push是不行的,加-f是强推(-f是--force的缩写) |
git merge other_branch | 合并分支 把其他分支合并到当前分支 还有 git merge --no-ff other_branch 这两条命令的区别请自行上网查 类似于rebase 也有--continue, --abort |
git clean -df | 删除所有修改,checkout只可以删除已修改的文件;这个命令还能删除新增的文件 |
一个小小的补充:
'.' 在很多情况下代表全部(比方git add .)
'-' 在很多情况下代表上一个(比方git checkout -)
4. 怎么配置一些简写的别名
首先配置文件的位置要知道:一般是 ~/.gitconfig
vim 打开~/.gitconfig 在[alias]填写你的别名,可以上网搞些比较常用的配置
5. 几条shell快捷键
网上还有很多shell快捷键,就不列那么多了,需要可以上网查
ctrl+l | 这是个小写L,清空当前面板 |
ctrl+d | 关闭当前面板 |
ctrl+u | 清空当前光标所在位置之前的全部输入内容 |
ctrl+k | 清空当前光标所在位置之后的全部输入内容 |
ctrl+c | 算是取消操作吧 |
tab键 | 别傻了,难道你还一个个字符敲,肯定是打一两个字符让它匹配啊 |
6. 几条vim快捷键
dd | 删除行,在输入状态下请点击esc退出输入状态,不然没用哈 |
o | 在光标行的下边插入一行 |
O | 在光标行的上边插入一行 |
a | 在光标行最前边进入输入状态 |
A | 在光标行最后边进入输入状态 |
i | 在光标位置进入输入状态 |
p | 粘贴复制的内容 |
caw | change a word 修改某单词,会删掉光标位置的单词,并进入输入状态 |
daw | delete a word 删除某单词,删掉光标位置的单词 |
u | 恢复到上一次修改 |
yy | 好像复制就是这个命令,倒是忘了,后边得查查 |
多行操作: 2. 大写I插入文本; 小写c替换文本; 小写d删除文本; | |
ctrl+z fg | ctrl+z暂时退出当前编辑,回到shell命令面板 fg打开暂时退出的那个vim |