GIt语句
2017-04-10 11:00:32 0 举报
AI智能生成
git
作者其他创作
大纲/内容
远程操作
克隆:git clone <版本库的网址>
克隆时使用其它远程主机名(默认为origin):git clone -o 远程主机名 <版本库的网址>
列出所有远程主机:git remote
列出所有远程主机网址:git remote -v
列出远程主机的详细信息:git remote show <主机名>
添加远程主机:git remote add <主机名> <网址>
删除远程主机:git remote rm <主机名>
远程主机改名:git remote rename <原主机名> <新主机名>
拉取所有分支的更新:git fetch
拉取特定分支的更新:git fetch <远程主机名> <分支名>
查看远程分支:git branch -r
查看所有分支:git branch -a
取回远程主机某个分支的更新,再和本地指定的分支合并:git pull <远程主机名> <远程分支名>:<本地分支名>
远程分支和当前分支合并,则上述语句中冒号后面的部分可省略
如果当前分支和远程分支存在追踪关系,可以省略远程分支名:git pull origin
如果当前分支只有一个追踪分支,连远程主机名都可以省略:git pull
如果合并需要采用rebase模式:git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
如果远程主机删除了某个分支,在拉取远程分支时,删除对应的本地分支:git pull -p
推送本地分支的更新到远程主机:git push <远程主机名> <本地分支名>:<远程分支名>
如果省略远程分支名,则推送到追踪的远程分支,若该远程分支不存在,则会被新建:git push origin master
如果省略本地分支名,则表示删除指定的远程分支:git push origin :master
如果当前分支只有一个追踪分支,那么主机名都可以省略:git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机:git push -u origin
不带任何参数的git push,默认只推送当前分支,这叫做simple方式
不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机:git push --all origin
强制更新远程主机上的版本(有冲突就覆盖):git push --force origin
推送时带上标签:git push origin --tags
代码回滚
将当前的改动从暂存区移除:git reset --mix HEAD
完全舍弃没有提交的改动:git reset --hard HEAD
撤销两次提交,工作目录和暂存区不变:git reset --soft HEAD~2
完全舍弃上一次提交:git reset --hard HEAD~1
撤销一个·提交,同时创建一个新的提交:git revert HEAD~1
回滚暂存区中的文件foo.py到倒数第二个提交中的样子:git reset HEAD~2 foo.py
回滚工作目录中的文件foo.py到倒数第二个提交中的样子:git checkout HEAD~2 foo.py
回退到某个版本:git reset --hard commitId
回退后想恢复远程状态:git pull
分支
创建分支:git branch 分支名
切换分支:git checkout 分支名
创建并切换分支:git checkout -b 分支名
合并分支:git merge 分支
合并远程分支:git merge 远程主机/远程分支
非快速推进方式合并分支:git merge --no-ff 分支名
查看分支:git branch
查看分支加最新提交信息:git branch -v
查看已合并分支:git branch --merged
查看未合并分支:git branch --no-merged
删除分支:git branch -d 分支名
在远程分支基础上创建新的本地分支:git checkout -b 本地分支名 远程主机名/远程分支名
查看跟踪分支:git branch -vv
删除远程分支:git push 远程主机名 --delete 远程分支名
变基:git rebase 变基到分支
手动建立追踪关系:git branch --set-upstream master origin/next
创建远程分支:
1.创建本地新分支:git checkout -b 新分支名
2.推新分支到远程:git push --set-upstream origin 新分支名
将commit从一个分支copy到另一个分支:git cherry-pick <commit id>
储藏
储藏:git stash
查看现有的储藏:git stash list
应用储藏:git stash apply
储藏时应用被暂存的变更:git stash apply --index
从堆栈中移除储藏:git stash drop
应用储藏,并将储藏从堆栈中移走:git stash pop
取消储藏:git stash show -p | git apply -R
从储藏中创建分支:git stash branch 分支名
查看记录
查看操作记录:git reflog
查看命令记录:history
查看包含push的历史命令:history | grep 'push'
查看commit信息
查看某次commit修改了哪些文件:git show --stat commit号
查看某文件最近一次commit修改的具体内容:git show commit版本号
查看某人的提交历史:git log --author=limo
查看提交修改的代码内容:git log -p
查看某人的提交历史(具体修改内容):git log --author=limo -p
查看文件差异
查看文件在工作目录和暂存区中的差异:git diff
其它
查看某行代码是谁在什么时候修改的:git blame 文件路径
0 条评论
下一页