美文网首页
git 常用命令

git 常用命令

作者: 我的楼兰0909 | 来源:发表于2018-12-14 15:18 被阅读0次

    git warning: LF will be replaced by CRLF in 解决办法
    git config core.autocrlf false


    git config --global core.autocrlf false //禁用自动转换

    生成公钥
    ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

    查看公钥
    cat ~/.ssh/id_rsa.pub

    添加完公钥后在终端输入
    ssh -T git@gitee.com


    修改和添加远程仓库地址

    git remote -v 查看所有远程仓库

    git remote set-url origin http://test.git 修改origin仓库地址

    git remote add public http://test.git 添加一个仓库地址,取名为public


    查看日志

    git log 显示当前分支的版本历史

    git log --stat 显示提交历史,以及每次commit发生变更的文件

    git log --oneline 显示提交历史精简版

    git reflog 显示当前分支的最近几次提交

    git log --oneline --author=zengchenhua 显示某个用户的提交历史

    git log --follow [file] 显示某个文件的版本历史

    git log -p [file] 显示指定文件相关的每一次diff

    git log -5 --oneline 显示过去5次是提交

    git shortlog -sn 显示所有提交过的用户,按提交次数排序

    git blame [file] 显示指定文件是什么人在什么时间修改过

    git diff 显示暂存区和工作区的代码差异

    git diff --cached [file] 显示暂存区和上一个commit的差异

    git diff HEAD 显示工作区与当前分支最新commit之间的差异

    git diff [first-branch]...[second-branch] 显示两次提交之间的差异

    git diff --shortstat "@{0 day ago}" 显示你今天写了多少行代码

    git show [commit] 显示某次提交的元数据和内容的变化

    git show [commit]:[filename] 同上,指定到文件


    完整提交

    git status -s

    git add .

    git commit -m "提交"

    git fetch origin master

    git merge origin master

    git push origin master


    git commit -v 提交时显示所有diff信息


    image.png

    Workspace 工作区

    Index 暂存区

    Repository 仓库区(或本地仓库)

    Remote 远程仓库


    回退版本

    HEAD 最近一次commit Index 暂存区 Working Copy 工作区

    --hard 是彻底回退 --mixed 回退commit和index信息,工作区不变 --soft 只撤销commit 工作区和暂存区都不变(add还有效)

    git reset HEAD filename(git reset file) add了多余的文件,取消那个文件的add 工作区不变

    git reset HEAD^ 回退所有内容到上一个版本 工作区不变

    git reset --hard 指针id 回退到指定commit

    git reset --hard 回退到上次commit

    git reset --hard HEAD^(HEAD~1) 回退到上一次commit ^^是回退到上上次,以此类推

    git reset --hard origin/master 将本地状态回退到和远程一样


    分支操作

    git branch -b new-branch-name 新增分支

    git branch 列出本地分支

    git branch -a 列出所有本地分支和远程分支

    git branch -d branch-name 删除一个已被终止的分支

    git branch -D branch-name 删除一个正在打开的分支

    git branch branch-name hash-val 恢复被删除的分支 如:git branch master HEAD@{4}


    添加忽略文件

    已有的文件增加为忽略文件

    先正常加到gittignore,走提交流程再

    git rm -r --cached filename

    git commit -m "提交"


    设置用户信息(免密提交)

    git config --global credential.helper store

    git pull/git push(这里输入一次,以后就不用了)

    或者git clone http://user:pwssword@test.git

    git config -e --global 编辑配置文件

    git config --global user.name "name" 设置提交代码时的用户名

    git config --global user.email "email adddress" 设置用户邮箱


    fatal: refusing to merge unrelated histories 问题解决

    原来命令后加上:--allow-unrelated-histories


    tag 使用

    git tag 查看tag

    git show tagname 查看某个tag的详细信息

    git ls-remote --tags origin 查看远程tag

    git tag -d tagname 删除本地tag

    git push origin :refs/tags/tagname 删除远程tag

    git tag tagname 创建本地tag

    git tag -a tagname -m "tag描述" 创建带描述的的tag

    git tag -a tagname commId 以某一次特定的提交创建tag

    git push origin tagname 推送到远程仓库

    git push origin --tags 多个tag一次性推送到远程仓库

    git checkout -b tabname 获取本地tag

    git fetch origin tag tagname 获取远程tag

    相关文章

      网友评论

          本文标题:git 常用命令

          本文链接:https://www.haomeiwen.com/subject/nhhthqtx.html