《命令行》Git

创建版本库

git clone 克隆远程版本库

git clone xxx.git 克隆文件
git clone xxx.git  克隆文件到dir文件目录下
git clone -b [new_branch_name] xxx.git 克隆并切换到新分支上

git init 初始化本地版本库

git init 在当前目录下面创建了一个.git 目录(隐藏文件夹)

修改和提交

git status 查看修改状态
git diff 比较当前所有文件和暂存区文件差异

git diff  比较当前特定文件和暂存区文件差异
git diff   比较两次提交差异
git diff   比较两个分支差异
git diff --staged 比较暂存区和版本库差异
git diff --cached 比较暂存区和版本库差异
git diff --stat 仅仅比较统计信息

git show 显示最后一次 commit 修改的内容

git show commit-id 显示某次 commit-id 的修改

git add 保存文件到暂存区

git add  保存指定的文件
git add . 保存所有修改过的文件
git add -A 保存所有修改过的文件(修改、新增、删除)
git add -u 保存修改和删除(不包括新建文件)

git mv 文件改名
git rm

git rm  从版本库中删除文件
git rm --cached  从版本库中停止跟踪文件,但不删除

git commit

git commit –m “comment” 提交所有更新过的文件
git commit --amend 修改最后一次提交

查看提交历史

git log 查看提交历史

git log -p 查看最近 p 次提交
git log -p -n 查看最近 n 次详细修改内容的 diff
git log  查看指定文件的提交历史
git log --author=“author”  查看某人提交记录
git blame  以列表方式查看指定文件的提交历史

撤销

git checkout 用于切换分支或恢复工作树文件

git checkout  撤销指定的未提交到暂存区文件的修改内容
git checkout HEAD  同上
git checkout  切换分支
git checkout -b  创建并切换到该分支

git reset 撤销

git reset --mixed 取消 commit + add
git reset --soft 取消 commit
git reset --hard 取消 commit + add + local working
git reset --hard  撤销到工作目录中某个提交的位置
git reset --hard HEAD 撤销工作目录中所有未提交文件的修改内容
git reset --hard HEAD~n 撤销工作目录中n个提交以前
git reset  从暂存区恢复到工作文件
git reset -- . 从暂存区恢复到工作文件

git revert

git revert HEAD 撤销最近的一个提交
git revert  撤销指定的提交
git revert --abort 中断本次revert(冲突没解决需要回滚时执行)
git revert --continue 继续revert(一般revert冲突解完执行)

分支与标签

git branch 分支

git branch 查看所有本地分支
git branch -a 查看所有分支(本地+远程) 
git branch  创建本地新分支
git branch -b  创建本地分支并切换到此分支
git branch -m   本地分支重命名
git branch -d  删除本地分支
git push origin --delete  删除远程分支

git tag 列出所有本地标签

git tag  基于最新提交创建标签
git tag -d  删除标签

合并与衍和

git merge 合并指定分支到当前分支

git merge  不显示 feature,只保留merge节点
git merge --no-ff  保存你之前的分支历史
git rebase  衍合指定分支到当前分支

远程操作

git remote 列出所有 remote 的别名

git remote -v 查看远程版本库信息,列出 url
git remote show  查看指定远程版本库信息
git remote rm [name] 删除一个 remote
git remote rename [old-name] [new-name] 重命名 remote
git remote add   添加远程版本库

git fetch 从远程获取代码

git fetch  从远程获取代码

git pull

git pull   下载代码及快速合并
pull = fetch + merge

git push

git push   上传代码及快速合并
git push  :  删除远程分支或标签
git push --tags 上传所有标签
git push origin branch_name 将本地分支同步到远端
git push origin :branch_name 删除远程分支,慎重使用

帮助

git help 帮助

git help  显示 command 的 help

实战

撤销一个add
git reset HEAD . 撤销所有的文件
git reset HEAD -filename 撤销某个文件

撤销一个commit(未PUSH)
git log -5 (找到你要撤销的commit)
git reset --hard commitid(你要撤销的上一个commit_id)

撤销一个commit (已经PUSH)
将 A 分支上的若干 commit-id 提交到 B 分支上
git log:A 分支上找到若干 commit-id
git checkout B :切换到 B 分支
git cherry-pick  :pick 到 B 分支上
git commit -c  :若有冲突 则commit -c
git push B :若无冲突则直接push
《命令行》Git_第1张图片
Git 技术栈

未完待续。。。持续更新。。。

  • 《敏捷开发》- 小米应用市场
  • 《敏捷开发》- 华为应用市场
  • 《敏捷开发》- 豌豆荚应用市场

你可能感兴趣的:(《命令行》Git)