git命令:
cd 进入指定文件夹
ls 显示文件夹内容
pwd 查看路径
mkdir 创建文件夹
git init 把当前目录变成Git可以管理的仓库
git add <文件> 将指定文件加入暂存区(stage)
git add . 加入当前文件下所有的修改
git commit -m "<标注>" 告诉Git将加入的文件修改一并提交到仓库
git rm --cached <文件> 将加入暂存的新文件移出暂存区,返回工作区<新文件>
git status 查看过仓库当前的状态
git diff 查看仓库中具体修改的内容
git diff HEAD -- <文件> 查看指定文件的
git checkout -- <文件> 丢弃对应文件的修改
git log 显示仓库的提交日志,可以看到commit id 和 commit的标注(输入大写Q,退出git log)
git log --pretty=oneline 显示简易的日志记录
git reflog 查看命令历史(关闭终端,再次进入)
git reset HEAD <文件> 将已加入暂存区的文件修改移出暂存区,放入工作区<旧文件的修改>
git reset --hard HEAD^ git回退到上一个版本;HEAD^^回退上2个版本;HEAD^^^回退上3个版本
git reset --hard HEAD~8 git回退上8个版本
git reset <commit id> 回退版本,代码修改还保留
git reset --hard <commit id> 回退版本,代码恢复,修改不保留
cat <文件> 查看文件内容
git checkout 丢弃工作区所有的更改
git checkout -- <文件> 丢弃未暂存工作区的文件修改
git branch <分支名字> 创建分支
git checkout <分支名字> 切换到指定的分支
git checkout -b <分支名字> 创建分支并切换到该分支
git checkout -b <分支名字> <远程仓库名>/<分支名字> 一创建就关联远程分支
git branch 查看本地分支(会列出所有的分支出来)
git branch -r 查看远程分支
git merge <分支名字> 合并指定的分支到当前分支 (先切换到父分支)
git branch -d <分支名字> 删除指定的分支
git branch -D <分支名字> 强制删除指定的分支
git log --graph --pretty=oneline --abbrev-commit 查看分支合并图(可以看到合并冲突时候的处理图)
git merge --no-ff -m "<标注信息>" <分支名字> 合并分支(--no-ff模式),同事commit了
git branch -m <原分支名> <新分支名> 更改本地分支名字
git pull 拉取远程分支的内容,同步到本地分支
git pull <远程仓库名> <远程分支> :<本地分支>
git pull <远程仓库名> <远程分支>
git stash 储藏该分支上的修改
git stash apply 回复储藏的内容,但不删除stash里面的内容
git stash drop 删除stash里面的内容
git stash pop 恢复隐藏的内容,同时删除stash内容
git stash list 查看stash里面的内容
git remote 查看所有远程仓库名字
git remote -v 查看所有远程仓库具体信息
git remote add <仓库地址> 关联本地项目和远程仓库
git remote add <仓库名字> <仓库地址> 关联本地项目和远程仓库(可以定义仓库名字)
git remote rm <仓库名字> 删除仓库关联
git remote set-url <仓库名字> <仓库地址> 修改仓库地址
git push <仓库> <本地分支>:<远程分支> 将本地分支的修改推送到对应的远程分支上;如果该远程分支不存在,则同时会创建该名字远程分支(这是创建本地分支的同时,就关联了)
git push <仓库> <本地分支> 该本地分支名字在远程仓库存在对应的远程分支
git branch --set-upstream <本地分支> <远程仓库>/<远程分支> 关联本地分支和远程分支(是先创建本地分支再关联)
git checkout -b <本地分支> <仓库>/<远程分支> 在本地创建和远程分支对应的分支(这是先有远程分支,一创建本地分支就关联了远程分支)
标签:
git tag <标签> 给提交的分支或commit id打标签,标签如v0.9
git tag 查看所有的标签
git tag <标注> <commit id> 给历史提交的commit id 打标签
git show <标签> 查看标签信息
git tag -a <标签> -m "<标签说明>" 创建带有说明的标签
git tag -d <标签> 删除标签
git push origin <标签> 将标签推送到远程
git push origin --tags 将本地全部标签推送到远程
git push origin :refs/tags/<标签> 删除远程标签(先删除本地的 git push origin <标签>,在执行这句)
vi 编辑模式:
vim <文件> 进入vi编辑模式
退出vim 编辑模式 :
1 - control + z
如果文件被修改,则vi保存在返回shell,没有被修改,直接退出vim,返回shell;
2 - 点击esc,输入冒号,进入末行模式
:w 保存当前编辑文件,不退出
:q 直接退出vim,不保存修改,返回shell
:wq 保存,再退出vim,返回shell
3- 撤回: u
4- 删除: 双击 d
5- 搜索:
/ + <需要搜索的字符>
搜索下一个:n
github网站上的仓库操作:
-> 先进入一个远程仓库
-> 点击Fork,在自己git中得到该远程仓库,可对在自己git中的仓库进行读写
-> 在自己的仓库下clone代码到地懊恼本地
-> 在电脑打开修改文件
-> 可推送都自己的远程仓库
-> 通过pull request 给官方仓库贡献代码
git config --global color.ui true 让Git显示颜色,会让命令输出看起来更醒目
压缩和解压文件:
压缩文件的时候,包括git库信息和历史都有压缩进去了
压缩:
tar -cvf edx-app-ios-enterprise-new.20170718.tar.gz edx-app-ios-enterprise-new
解压:
tar -xzvf edx-app-ios-enterprise-new.20170718.tar.gz
git reset:
对比:
仅仅只是撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID
网友评论