最实用的Git命令总结:新建本地分支、远程分支、关联和取消关联分支、清除本地和远程分支、合并分支、版本还原、tag命令、中文乱码解决方案、如何fork一个分支和修改后发起合并请求

 1.常用命令git、tag整理

1、新建分支
	本地分支 git branch <branch-name>
	远程分支 git push origin <branch-name>:<new-branch-name>
2、删除分支
	本地分支 git branch -d <branch-name>   或   git branch -D <branch-name>
	远程分支 git push origin :<branch-name> 如果报没有关联(ref)远程分支然后再执行命令3清理远程分支
	
3、清理远程分支,把本地不存在的远程分支删除
	git remote prune origin
   清理已经提交到本地缓存的文件
    git rm -r --cached [node_modules]

4、本地分支与远程分支关联与取消关联
	git branch --set-upstream-to=origin/<branch-name>
	git branch --unset-upstream <branch-name>

5、提交本地分支到指定的远程分支(不一定是关联的远程分支,不一定有权限)
	git push origin <branch-name>

6、克隆指定的远程分支
	git clone -b <branch-name> http://xxx/xxx/xxx.git
	默认是克隆远程master主分支(HEAD -> origin/master)
7、本地版本回退
	查看本地分支日志:git reflog
   	本地分支回退到指定的结点:git reset —-hard {n}

8、查看和修改git服务器地址和所有本地及远程分支:git config —-list
   或者 git remote get-url --all origin
   修改本地git仓库关联的远程仓库地址:git remote set-url origin https://xxxx.git

9、把本地已有的Git仓库推送到远程空的仓库中的命令
    git remote add origin https://xxx.git
    git push -u origin master

10、快速查看本地分支和远程列表:git branch -a

11、Git中文文件名自动转Unicode问题:git config --global core.quotepath false

12、tag命令相关
   (1)创建本地tag标签:git tag tag名称 [-m "备注信息"]
   (2)把本地指定tag同步到远程分支:git push origin tag tag名称
        将本地所有tag同步到远程仓库:git push origin --tags
   (3)把远程对应分支上的所有tag同步到本地分支:git pull
        把远程对应分支上的指定tag同步到本地分支: git fetch origin tag 远程指定的tag名称
   (4)删除本地指定的tag:git tag -d tag名称
        删除远程对应分支上的指定tag: git push origin -d 远程指定的tag名称
    
   注意:创建本地tag后,在不修改git工程的情况下通过git push命令无法推送本地tag到远程;同样的删除本地tag后,通过git push命令也无法删除远程的tag。
        
        

2.如何fork一个分支和修改后发起合并请求?

1.首先去原始代码仓库(如github、gitlab、公司内部的代码仓库)的web界面上点击"Fork"或"派生"按钮,按照提示一步一步"克隆"一个自己的分支(或称为独立的仓库),复制仓库地址:http://自己的仓库.git;

2.使用git clone命令把自己的代码仓库下载到本地

git clone http://自己的代码仓库.git

3.添加一个远程仓库的配置,用于发起合并请求前先同步别人最新的代码。(后面可以用这个别名来表示别人的远程分支)

git remote add xxx别名 http://别人的代码仓库.git

可通过如下命令查看远程配置

git branch -v

  

4.在自己fork出来的本地仓库修改代码后提交到本地

5.然后同步别人最新的代码到本地

# xxx别名:上一步中代表别人代码的分支名称
# 分支:master/develop 表示你想同步别人哪个分支上的最新代码
git pull origin xxx别名 分支

6.提交合并后的代码到自己的远程分支(即fork出来的分支)

git push

7.最后再去第1步中的web界面发起合并请求(如下示例),等待原始仓库作者的处理即可。

3.问题场景
使用git pull提示refusing to merge unrelated histories
创建了一个origin,两个人分别clone

分别做完全不同的提交

第一个人git push成功

第二个人在执行git pull的时候,提示

fatal: refusing to merge unrelated histories 
解决方法:

git pull --allow-unrelated-histories

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值