程序猿必须掌握的git命令

来源:互联网 发布:尚硅谷linux视频教程 编辑:程序博客网 时间:2024/05/21 21:37

git status -s
M README           //M表示修改过的文件,没有add
MM Rakefile        //第一个M表示修改过没有add,第二个M表示 add了但是没有commit
A lib/git.rb       //A表示新添加的文件,已经add但是还没有commit
M lib/simplegit.rb //M表示修改过但是没有add
?? LICENSE.txt     //表示新添加的没有add

git diff 查看最新修改的
git diff --staged / --cached 表示最新修改的已经add了,
git difftool 以图形化的方式显示修改过哪些
git commit -m "commit log" 从暂存区提交
git comiit -a -m "commit log" 修改过后之间提交,跳过暂存区
git rm --cached file_name  从暂存区删除,并且不没有被git跟踪
git mv file_from file_to 修改文件名
git log --stat 查看每次提交并附带总结
git log --pretty=oneline 每次提交以一行的方式显示
git log --graph 以ASCII图形的方式显示每次提交
git log --since=2.weeks 最近两周内的提交
git log -Sfunction_name 显示 function_name被改动的一次提交,function_name 也可以为字符串
git log --author=name 显示 name 的提交
git commit --amend 追加上一次提交
git remote -v 查看远程服务器
git remote add name url 在远程服务器上添加一个name仓库
git tag v1.0 给最新的提交打标签
git tag -a v1.2 commit-id给对应的提交打标签
git push origin v1.0 把v1.0标签推到远程服务器
git config --global alias.co checkout 将checkout命令为co
git log --oneline --decorate 查看各个分支当前所指的对象
git checkout -b branch_name 创建分支并切换到该分支
git log --oneline --decorate --graph --all显示分支建立的地点及每个分支的提交
git branch --merged查看分支合并到哪个分支上
git fetch branch_name从远程获取branch_name的数据
git push origin branch_name将branch_name分支的内容推送到远程服务器
git checkout -b branch_1 origin/branch_2 创建分支branch_1并利用分支branch_1来追踪远程的branch_2
git branch -vv显示追踪当前分支的信息
git push origin --delete branch_1删除远程服务器的branch_1分支
git pull --rebase同步代码并merge
git clean -dxf清除所有未跟踪的文件,包括纳入ignored的文件,如果要保留ignored文件,则用git clean -df

git rebase branch_1将当前分支HEAD指针指向master分支的下一个节点,
git checkout master
git merge branch_1然后将branch_1上的内容合并到master,此时HEAD指针指向了master

git rebase --onto master server client取出client分支,找出处于client分支和server分支的共同祖先之后的修改,然后把他们在master分支上rebase
git checkout master
git merge client再合并client
git reflog 获取之前的提交历史
git reflog HEAD@{5}查看仓库中HEAD在五次前的所指向的提交
git log master..mydev 显示在 mydev分支而不在master分支的提交,也就是没有merge到master分支上

0 0