美文网首页
Git的常用操作总结

Git的常用操作总结

作者: Binary_r | 来源:发表于2020-10-16 11:11 被阅读0次

    Git初始化绑定用户

    git config --global user.email "你的邮箱"
    git config --global user.name "你的用户名"

    生成ssh密匙

    一般生成的密匙文件在C:\Users\用户.ssh目录下

    ssh-keygen -t rsa -C "你的邮箱"

    image.png

    将密匙配置到GitHub

    image.png

    项目绑定远程仓库

    git初始化本地仓库

    git init

    将本地仓库与远程仓库进行绑定

    git remote add origin 远程仓库的URL

    //例如 git remote add origin https://github.com/gujunling/test.git

    上传代码流程

    git stash 备份当前工作区的内容
    git pull 下载git仓库的代码同步到本地
    git stash pop 读取最近一次保存的内容,恢复工作区

    全局搜索 “>>>”

    如果产生冲突

    找到对应位置解决冲突,选择保留正确的代码

    git add -A . 将所有改动文件加入git暂存区

    提交代码到本地仓库

    第一次提交:

    git commit -m "message"

    多次提交,且前一次没有提交到远程仓库:

    git commit --amend

    提交代码到远程仓库

    git push origin 分支名称

    其他常用命令

    git status 查看当前状态

    git branch 查看本地所有分支

    git branch -a 查看所有的分支

    git branch -r 查看远程所有分支

    git branch dev 建立一个新的本地分支dev

    git checkout dev 切换到远程dev分支

    git fetch 相当于是从远程获取最新版本到本地

    git merge origin/dev 将分支dev与当前分支进行合并

    git log 看你commit的日志

    git diff:是查看 workspace(工作区) 与 index(暂存区) 的差别的。

    git diff --cached:是查看 index(暂存区) 与 local repositorty(本地仓库) 的差别的。

    git diff HEAD:是查看 workspace 和 local repository 的差别的。(HEAD 指向的是一次提交)

    git stash list读取Git栈内的所有备份
    git stash clear 清空Git栈

    fetch和 pull的区别

    git fetch:相当于是从远程获取最新版本到本地,不会自动merge

    <pre>git fetch origin master
    git log -p master..origin/master
    git merge origin/master</pre>

    以上命令的含义:
    首先从远程的origin的master主分支下载最新的版本到origin/master分支上
    然后比较本地的master分支和origin/master分支的差别
    最后进行合并

    image.png

    上述几个命令可以用以下替代

    <pre>git fetch origin master:tmp
    git diff tmp
    git merge tmp</pre>

    git pull:相当于是从远程获取最新版本并merge到本地

    其实相当于git fetch 和 git merge

    在实际使用中,git fetch更安全一些
    因为在merge前,我们可以查看更新情况,然后再决定是否合并

    遇到问题时的处理

    git add 错误:

    撤销上次 add 里面的所有更改的文件
    git reset HEAD

    撤销某个文件
    git reset HEAD filename

    git commit 错误:
    查看节点
    git log

    撤销上一次的 commit
    git reset commit_id

    还没有 push 的时候:
    回退到上一个代码提交的节点,代码还是自己修改过的
    git reset commit_id

    git reflog 查看你本地提交记录
    git reset --hard HEAD@{2} 回退到本地最新代码的位置

    GIt修改仓库地址

    git remote set-url origin XXXX地址

    相关文章

      网友评论

          本文标题:Git的常用操作总结

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