美文网首页Git使用git及github学习
关于git的一些指令及遇到的问题和解决方法

关于git的一些指令及遇到的问题和解决方法

作者: 贤总_ | 来源:发表于2019-04-24 14:34 被阅读6次

    git 代码托管

    一,git安装

    去Git官网上下载安装即可

    二,ssh -key配置

    1. 检查是否已经有SSH Key。
        $cd ~/.ssh   //如果说没有这个目录,就直接看第三步
    
    2. 备份
    3. 生成一个新的SSH。

    $ssh-keygen -t rsa -C "email" ("email" git账号)
    之后直接回车,不用填写东西。之后会让你输入密码。然后就生成一个目录.ssh ,里面有两个文件:id_rsa , id_rsa.pub

    4. 把这个SSH放到github上。用公钥。先在GitHub上注册一个用户,然后进入account-setting ,把id_rsa.pub的内容复制进去就可以了。

    用记事本打开id_rsa.pub文件,复制内容,在github.com的网站上到ssh密钥管理页面,添加新公钥,随便取个名字,内容粘贴刚才复制的内容。


     然后把id_rsa.pub里的内容复制进去就可以了。


    三,配置账户

    指令:
     $ git config --global user.name “your_username” #设置用户名

    $ git config --global user.email “your_registered_github_Email” #设置邮箱地址(建议用注册giuhub的邮箱)

    四,测试ssh keys是否设置成功

    ssh -T git@github.com

    The authenticity of host 'github.com (192.30.252.129)' can't be established.

    RSA key fingerprint is 16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.

    Are you sure you want to continue connecting (yes/no)? yes #确认你是否继续联系,输入yes

    Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.

    Enter passphrase for key '/c/Users/xxxx_000/.ssh/id_rsa': #生成ssh kye是密码为空则无此项,若设置有密码则有此项且,输入生成ssh key时设置的密码即可。

    Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出现此句话,说明设置成功。

    五,git指令

    1.克隆代码
    git clone 地址
    
    2.提交
    //先放进本地仓库
    git add .
    git commit -m '本次提交备注'
    git status    //查看仓库状态
    
    3.推到远程仓库
    git push 
    
    4.将本地更新为最新状态
    git pull    //将当前分支绑定的远程分支的最新的修改拉取到本地,一般在我们push之前都应该pull拉取一下查看是否有冲突
    
    5.本地回退版本
    git reflog //回溯历史版本
    git reset --hard //回溯到指定状态,只要提供目标时间点的哈希值
    
    6.分支操作

    https://jingyan.baidu.com/article/48206aea68e69f216ad6b33f.html

     git branch     //显示分支一览表,同时确认当前所在的分支
     git checkout -b aaa //创建名为aaa的分支,并且切换到aaa分支
      (git branch aaa //创建名为aaa的分支
        git checkout aaa // 切换到aaa分支)能和git branch -b aaa 得到同样的效果
    
    7.合并分支
    git checkout <主分支>             //先切换到合并的分支
    git merge <被合并的分支>  -m '填写一个合并的信息'         //再将指定分支合并到当前分支
    git push
    

    查看当前已合并的和未合并过的分支,可见其他分支中没有合并的内容

    git branch --merged
    git branch --no-merged
    
    8. git 本地分支与远程分支

    (参考)https://www.cnblogs.com/lianghe01/p/5806518.html

    github上已经有master分支 和dev分支
    在本地

    git checkout -b dev   // 新建并切换到本地dev分支
    git pull origin dev     //本地分支与远程分支相关联
    

    在本地新建分支并推送到远程

    git checkout -b test
    git push origin test   //这样远程仓库中也就创建了一个test分支
    

    六,一些遇到的报错

    1.同一份文件,在你提交时,有人比你更早更新了文件并上传,使你的本地文件并非最新。因此,在你想上传自己修改后的文件时,第一步git pull时,会报如下错误:
        error: Your local changes to the following files would be overwritten by merge:
                src/test/resources/application_context.xml
        Please, commit your changes or stash them before you can merge.
        Aborting
    

    为解决此问题,做如下操作
    git stash
    隐藏本地修改
    git pull
    下载最新代码
    git stash pop
    从Git栈中读取最近一次保存的内容,恢复自己的本地修改
    提示有无冲突
    若有冲突,则解决冲突
    若无,则直接提交
    git add .
    git commit -m "comments"

    2.当前分支与远程分支没有建立关联,提示运行 git push --set-upstream origin master2 与远程仓库建立关联,运行后即可通过 git push 推送成功
    fatal: The current branch v2.0.6 has no upstream branch.
    To push the current branch and set the remote as upstream, use
    
        git push --set-upstream origin v2.0.6
    

    复制执行即可
    git push --set-upstream origin v2.0.6

    相关文章

      网友评论

        本文标题:关于git的一些指令及遇到的问题和解决方法

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