zoukankan      html  css  js  c++  java
  • git的基本操作---就看我这一篇就足够了!!!!!

    https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8   

    简易的命令行入门教程:

    Git 全局设置:

    git config --global user.name "coder-lzh"
    git config --global user.email "657083979@qq.com"

    创建 git 仓库:

    mkdir vue-shop
    cd vue-shop
    git init
    touch README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin git@gitee.com:lzh1995/vue-shop.git
    git push -u origin master

    已有仓库?

    cd existing_git_repo
    git remote add origin git@gitee.com:lzh1995/vue-shop.git
    git push -u origin master

     git push -u origin master   这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push

     上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

    git 切换远程仓库地址

    方式一:修改远程仓库地址

    【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

    方式二:先删除远程仓库地址,然后再添加

    【git remote rm origin】 删除现有远程仓库 
    【git remote add origin url】添加新远程仓库

    git remote -v   查看远程仓库的地址

    git操作项目的大致步骤。

    git init    //初始化一个本地仓库。
    
    git add .  //添加文件
    
    git commit -m '提交内容'  //提交到本地仓库
    
    git status  //查看状态  变红是说明文件还没有add   变绿说明文件已经add 但是还没有commit   提交完之后就会显示没有文件可以提交了
    
    git pull url  master //拉取远程仓库的代码到master主分区   不写master则默认推送到master
    
    git push url  master //推送本地的代码到远程仓库主分区  

    设置远程origin地址

    git remote -v 查看远程origin 
    
    git remote rm origin 删除远程origin 
    
    git remote add origin xx.git //添加git地址

    将本地的项目第一次提交到github

    git remote add origin 远程仓库地址

    git pull origin master --allow-unrelated-histories 后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并 git push
    origin master

    添加变化

    git add . //提交所有新增文件和变化文件,不包括被删除文件
    
    git add * //功能同上
    
    git add -u //提交被修改和被删除文件,不包括新文件
    
    git add -A //提交所有变化
    
    git add a.txt //提交a.txt
    
    //git add命令可以提交多次,在git commit之前,告诉git,把文件添加到仓库暂存区

     分支

    git branch dev    //创建dev分支
    
    git checkout dev  //切换到dev分支
    
    git checkout -b dev      //-b参数表示创建并切换相当于 git branch dev 再   git checkout dev
    
    git branch  //显示所有分支,当前分支前有 * 号
    
    git merge dev //合并dev到主干(快进模式:直接将master分支指向dev的提交)
    
    git branch  -d dev //删除分支  -D 强制删除

    git clone -b dev 代码仓库地址 (dev是远程分支名称) -- 直接将远程的分支拉去下来,而不用再拉去master 然后再切换远程分支


    //使用下面两条命令来删除远程分支(任意一种就可以)
    1. git branch -r -d origin/branch-name
    2. git push origin :branch-name          //branch-name是远程分支名

    本地的dev分支推送到远程的分支上。

    git push origin dev:dev  //意思是将本地的dev分支推送到远程的dev分支上。如果没有远程的dev,就创建,者仅仅是第一次建立关系。一旦建立好之后,本地的再次推送就 git push origin dev 就ok了。

    注意  还需要绑定一下远程地址的分支,如果不关联,你Git push 的时候  会提示你

    $ git push
    fatal: The current branch dev has no upstream branch.
    To push the current branch and set the remote as upstream, use

    git push --set-upstream origin dev

    把本地的新分支,和远程的新分支关联

    git push --set-upstream origin newbranch     (!!!!!!newbranch 是远程分支的名字)

    git branch -vv   -- 查看远程分支的对应本地分支的关系

    git push origin dev:master //意思是把本地的dev推送到远程的master分支。






    拉取远程分支并创建本地分支

    git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支

    git fetch     //一般在远程新建一个分支的话,你直接查看是看不到的,要先执行这个命令,然后才能看到。

    git branch -a     // 查看所有的分支

    git branch -r    //查看远程分支

    如何将分支指定的文件提交

    场景:比如说dev分支,你想将dev分支上面的1.txt 文件合并到master分支上面。

    切换到master分支

     git checkout dev ./src/java2/1.txt    //后面是相对路径

    注意:这种会把合并的文件强制覆盖!!!!不推荐!!!!

    如何指定将分支的commit合并

     git log 查看commit提交得到 68dd8e579c65050be6238360ee1efee454a0e3d0 这类的数据

     git cherry-pick 68dd8e579c65050be6238360ee1efee454a0e3d0    意思是合并这个分支

    pull的时候出现  refusing to merge unrelated histories  错误

    git pull origin master --allow-unrelated-histories  

     

     查看日志

    git log //显示每一次提交的信息:作者、日期、hash、commit信息
    
    git log --pretty=oneline //单行显示提交信息:hash、commit信息
    
    git reflog //提交信息:hash、commit信息

     版本控制

    
    

      git reset --hard HEAD^ //仓库文件回退到上一commit版本

    git reset --hard 35f69c //版本回滚到hash值35f69c开头的commit版本   特别注意:这个会让你本地的文件消失!!!!!!!!!!!!

    第二种方法
    git reflog --查看所有提交的信息
    然后 git reset HEAD~2 --说明是退回到上面记录的2的版本 ,这个退回 你本地的文件不会消失 你只需要重新add就行。推荐这个!!!!!!!!!!1
    推荐博客 :https://www.cnblogs.com/flowwind/p/4222247.html

     ======修改了文件,执行了add操作 但是没有执行commit操作
    git reset HEAD a.txt //把暂存区中a.txt的修改撤销掉,放回工作区



    =======修改了文件,但是还么有执行add操作
    git checkout fileName //把修改的文件还原到修改之前




    查看本地文件做了哪些修改 

    git diff 文件名 
    
    按 q 退出 

    删除已经提交到服务器上面的文件/文件夹

     比如要删除   mvnw.cmd文件   .mvn/  文件夹

     git rm -r --cached .mvn/  mvnw.cmd 
    
     git commit -m'del mvnw'
     git push -u origin master

     

    如何解决failed to push some refs to git

    可以通过如下命令进行代码合并【注:pull=fetch+merge]
    
    git pull --rebase origin master
    
    
    此时再执行语句 git push  origin master即可完成代码上传到github

     解决错误  remote: Incorrect username or password ( access token )

    解决办法:清除本地的gitee用户名和密码
    
    git config --system --unset credential.helper
    
    再执行推送,重新输入用户名和密码。

     每次提交都需要填写密码这个问题

    如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。

    解决办法:

    git bash进入你的项目目录,输入:

    git config --global credential.helper store

    然后你会在你本地生成一个文本,上边记录你的账号和密码。当然这些你可以不用关心。

    然后你使用上述的命令配置好之后,再操作一次git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了

  • 相关阅读:
    在 Students 的 Index 页面增加列标题链接(排序),分页,过滤和分组功能
    Contoso 大学
    如何搭建MVC + EF 框架
    EF与手写Model的区别以及联系
    報錯:One or more validation errors were detected during model generation:System.Data.Edm.EdmEntityType: : EntityType 'Movie' has no key
    Oracle四舍五入,向上取整,向下取整
    datagrid中设置编辑,删除列是否可以访问
    datagrid中设置编辑,删除列是否可以访问
    C#实现打印
    C#中rpt的数据类型和Oracle中数据类型的匹配
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/9194024.html
Copyright © 2011-2022 走看看