duuliy

git常用命令

2017-6-7

git clone —-拉代码
git status ———–查询本地修改文件
git add 文件名 or . 点代表所有 ————–添加修改文件
git commit -m ‘’ ————-文件提交备注(存到本地)
git pull origin 分支名称 ————拉取远端分支到当前分支 git pull 指令实际做了两件事:git fetch 和 git merge。
git push origin 分支名称 ———–推送到远端分支
git push -f 强推到远端
git checkout 文件名 or . 点代表所有 ————–放弃本地修改文件
git clean -df ————–放弃所有修改、新增、删除文件。从工作目录中移除没有track的文件-d表示同时移除目录,-f表示force
git branch dev ————-创建本地分支
git checkout 分支名称 —————切换分支
git checkout -b dev —————创建并切换到dev分支
git branch -a 查看所有分支
git branch -D 名字———–删除本地分支
git branch -vv ———–查询本地远端分支对应情况
git push origin –delete —————————删除远端分支
git log —查看提交历史
git log –since=2.weeks 自从..日期
git log –until=2 years 1 day 3 minutes ago 直到..日期
git merge b 将b分支合并到当前分支
git rebase b 也是把 b分支合并到当前分支 (会取消分支中的每个提交,并把他们临时存放,然后把当前分支更新到最新的origin分支,最后再吧所有提交应用到分支上,不要对已经处于远端的多人共用分支做 rebase 操作,自己修改bug的分支可以做。)

git reset commit_id如果因为某些原因(比如新提交导致了 BUG,或只是一个 WIP 提交),需要撤回提交 ,要修改提交历史(硬重置是重置的本地,千万不要再次拉远端代码,此时先强推,然后再拉获取记录,如果全组有人拉过代码,都需要重置到同一个节点然后再拉代码)。

git revert commit_id (git reset –soft HEAD^ 撤回上次commit) 还原 git revert 可以在不修改分支历史的前提下,还原某次提交引入的更改。 节点之后的提交都还存在!!!

git cherry-pick ‘4c97ff3’检出提交
git reflog 所有已执行操作的日志!
git reset –hard FETCH_HEAD 放弃本地的commit 回滚到指定版本 -soft所有commit的修改都会退回到git缓冲区 –hard,所有commit的修改直接丢弃
$git diff origin/master HEAD –name-only 显示本地和origin/master分支的diff文件名
git diff origin/master HEAD 显示本地和origin/master分支的diff内容
$ git remote -v 查看远端仓库地址
git commit –amend 修改刚刚的提交的commit -m。然后再push 但是会多一条记录。