• git使用


    下载克隆

    git clone http://xxx/yyy.git

    git clone -b branchName url

    切换

    cd yyy

    切换分支

    git checkout -b develop

    git checkout -b develop remote_branch_name

    egg. git checkout -b feature/20181206 origin/feature/20181206

    设置提交的远程分支

    git branch --set-upstream-to origin/develop develop

    新建分支,并切到对应新分支

    目前master分支,基于master,新建分支test
    git checkout -b test
    相当于
    git branch test
    git checkout test

    全局设置用户和电邮

    git config --global user.name "John Doe"

    git config --global user.email johndoe@ example.com

    查看配置信息

    git config --list

    git config --get user.name

    查看分支

    git branch -a

    删除远程分支

    在别的分支下操作

    git push origin --delete remote_branch_name

    删除本地分支

    git branch -d local_branch_name

    删除远程标签

    git push origin --delete tag tag_name

    删除本地标签

    git tag -d tag_name

    推送本地标签到远程

    git push origin --tags

    查看远程分支和标签

    git ls-remote -h -t

    切换远程git url

    git remote set-url origin http://XXXX.git

    查看标签

    git tag

    git 命令合并分支代码:https://www.cnblogs.com/sdgf/p/5852114.html

    1、进入要合并的分支(如开发分支合并到master,则进入master目录)

    git pull

    2、查看所有分支是否都pull下来了

    git branch -a

    3、使用merge合并开发分支

    git merge 分支名

    4、查看合并之后的状态

    git status

    5、有冲突的话,通过IDE解决冲突;

    6、解决冲突之后,将冲突文件提交暂存区

    git add 冲突文件

    7、提交merge之后的结果

    git commit

    如果不是使用git commit -m "备注" ,那么git会自动将合并的结果作为备注,提交本地仓库;

    8、本地仓库代码提交远程仓库

    git push

    Git怎样撤销一次分支的合并Merge https://www.cnblogs.com/ZhangRuoXu/p/6706536.html

    解决方法:

    • 1.找到最后一次提交到master分支的版本号,即【merge前的版本号】
    • 2.回退到某个版本号
    git reset --hard 【merge前的版本号】
    

    3.强制推送

    git push -f

    git 修改已提交的某一次的邮箱和用户信息

    git filter-branch -f --env-filter 
    "GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; 
    GIT_COMMITTER_NAME='committed-name'; GIT_COMMITTER_EMAIL='committed-email';" HEAD
    

    修改当前的project的用户名的命令为:

    git config user.name 你的目标用户名;
    

    git修改当前的project提交邮箱的命令为:

    git config user.email 你的目标邮箱名;
    

    git本地及远程分支回退

    1. git本地版本回退

    git reset --hard commit_id(可用 git log –oneline 查看)
    

    2. git远程版本回退

    git push origin HEAD --force #远程提交回退
    

    下面的命令也可以实现远程版本回退

    git reset --hard HEAD~1
    git push --force
    
    

    3. git reverse和git reset的区别

      • git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
      • 在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。
      • git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。

    4. git reset + commit号

    git reset命令后面是需要加2种参数的:
    ”–hard”和”–soft”。

    这条命令默认情况下是”–soft”。执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。

    使用git status命令可以在缓冲区中看到这些修改。而如果加上”–hard”参数,则缓冲区中不会存储这些修改,git会直接丢弃这部分内容。

    但需要注意的一 个问题是:由于这样的重置是直接在本地的修改,无法提交到远程服务器,如果直接丢弃的内容已经被推到远程服务器上了,则会造成本地和服务器无法同步的问题。

    即git reset –hard只能针对本地操作,不能针对远程服务器进行同样操作。如果从本地删掉的内容没有推到服务器上,则不会有副作用;如果被推到服务器,则下次本地和 服务器进行同步时,这部分删掉的内容仍然会回来。

    而上面注意中提到的问题则可以很好的被git revert 命令解决。

    5.git revert + commit 号

    该命令撤销对某个commit的提交,这一撤销动作会作为一个新的修改存储起来,这样,当你和服务器同步时,就不会产生什么副作用。

  • 相关阅读:
    spring各个版本开发包下载
    not value specified for parameter问题解决方案
    Ajax的重构
    Ajax中与服务器的通信【发送请求与处理响应】
    Ajax技术之XMLHttpRequest(二)【XMLHttpRequest常用方法和属性】
    “AI”项目日记
    英语学习笔记
    贺费德勒20冠,和关于程序员中年危机的思考
    《领域驱动设计:软件核心复杂性应对之道》读书笔记
    ERP系统知识笔记
  • 原文地址:https://www.cnblogs.com/li-yg/p/11669838.html
Copyright © 2020-2023  润新知