一、Git开发常用指令
git:分布式版本控制工具
工作区:
stash:储藏区
workspace/working Directory:工作区
Index/Stage:暂存区
Local repositort:仓库区/本地仓库
remote repository:远程仓库
分支
本质是单个指向commit的可变指针
master分支:只是约定的默认分支
HEAD分支:指向当前活动分支的最新一次提交
拉取
git clone 地址 // 克隆分支
git pull origin dev-cy // 拉取具体的分支
git checkout 名字 //切换到该分支
git checkout -b 名字 //新建分支并切换到该分支
提交
git status // 获取当前分支的状态
git commit --no-verify -m "注释说明" // 加注释提交
git push // 推送
git push origin dev-cy // 推送到具体的分支
合并分支
git checkout develop //切换到该分支
git merge dev-cy //merge要合并的分支
git push origin develop //推送到被合并的分支
合并提交某一个分支
git checkout master//切换到该分支
git checkout develop './' //切换到该分支具体文件
根据commit id 提交到另一个分支上
git checkout master // 切换到该master分支
git cherry-pick 1873e35 //(如果没有冲突,将成功合并)
git push origin master // 推送到master分支
切换分支如果不改变本地代码时
先 git stash 后 checkout 分支 完成后 切换回 原分支 再 git stash pop 恢复文件
git stash 能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
git stash pop 恢复最近的缓存到当前文件中,同时删除恢复的缓存条目。
回退到版本
回退到上一个版本: git reset --hard HEAD^; 回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。
回退到前100个版本: git reset --hard HEAD~100 。
回退到制定版本: git reset --hard 版本号
不同程度提交的回退方式
1、当git merge 但还没add时,若想取消这次合并
git merge --abort
2、已经 git add 了
先用 git reflog 指令显示历史的操作,再用 'git reset --hard commit id’就可以回退到操作之前的状态了
git reflog
git reset --hard commit id
3、撤回 commit命令
git reset --soft HEAD^
git reset --soft commit id^ // ^ 这个符号不能丢
4、push 后回退
git log // 提交记录
git reset --soft aa18d5c5c681061a9d3 // 回退到某个记录
git push origin dev-cy --force // 强制覆盖
5、回退push后的单个文件
git log查看提交历史,找到想要回滚的提交的ID(例如:”abcdef”)
git revert -n abcdef //撤销提交,但并不自动生成一个新的提交
git checkout HEAD -- example.txt //从最新的提交中恢复文件”example.txt”的更改
git commit -m "Revert file example.txt from commit abcdef"//创建一个新的提交,该提交仅撤销了文件”example.txt”的更改
常见问题
别名设置
git config --global alias 要替代的原操作
git config --global --unset alias 取消别名
git config --list | grep alias:列出别名
忽略文件,在项目的.git下创建.gitignore文件,该文件中的内容将被忽略
/开头表示目录
*通配多个字符
?通配单个字符
[]包含单个字符的列表
!不忽略匹配到的文件或目录
统计代码命令
git log --author="hhh" --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
二、Linux开发常用指令
vim操作
进入编辑器 vi/vim,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式
i 进入编辑模式
esc 退出编辑模式
:w 保存文件
:q 退出Vim
:q! 强制退出Vim,用于放弃保存修改的情况
:wq 正常保存退出
:wq! 强制保存并退出Vim