git 操作

Git 常用操作

1. git 将远程分支合并到本地分支

第一种方法
//查看当前远程的版本
$ git remote -v 
//获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master:master1  [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中]
$ git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中]
//查看版本差异
$ git diff master1 [示例1:查看本地master1分支与当前分支的版本差异]
$ git diff dev1    [示例2:查看本地dev1分支与当前分支的版本差异]
//合并最新分支到本地分支
$ git merge master1    [示例1:合并本地分支master1到当前分支]
$ git merge dev1   [示例2:合并本地分支dev1到当前分支]
//删除本地临时分支
$ git branch -D master1    [示例1:删除本地分支master1]
$ git branch -D dev1 [示例1:删除本地分支dev1]

第二种方法

//查询当前远程的版本
$ git remote -v
//获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master  [示例1:获取远端的origin/master分支]
$ git fetch origin dev [示例2:获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev   [示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master  [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]

2.git 拉取远程仓库 fatal: refusing to merge unrelated histories

在命令后面加上--allow-unrelated-histories


git pull patent origin --allow-unrelated-histories

3. git更换远程仓库地址/本地代码推送到新的仓库

第一种方式 修改远程仓库地址

git remote set-url origin ​【new_remote_repository_address】

第二种方式

  • 从原仓库clone或pull到本地仓库
git clone project_name ​【old_remote_repository_address】
  • 进入clone下来的本地仓库目录,将远程仓库地址修改为新的远程仓库地址
git remote remove origin
git remote add origin【new_remote_repository_address】
  • 将本地仓库文件push到新的远程仓库
git push origin master

4. 取消文件跟踪

  • 在项目根目录下面添加.gitignore 文件
# Eclipse files #
.settings
.classpath
.project
.factorypath

# Idea files #
.idea
*.iml

# Maven files #
target

# jdbc-conf file #
src/main/resources/conf/jdbc-conf.properties
src/main/resources/conf/activemq.properties

# Apple file #
.DS_Store
.tern-project

git rm --cached filename || git rm --cached -r dictoryname
git commit -m "remark"
git push origin master

5. git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

  • 方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
git stash
git pull origin master
git stash pop
  • 如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:
git reset --hard
git pull origin master

6. Git本地分支与远程分支关联问题

git branch --set-upstream-to=origin/zane zane   

origin/zane 为远程分支 zane 为本地分支

git pull 时报错
fatal: refusing to merge unrelated histories

git pull origin master --allow-unrelated-histories

7. 新建分支

git checkout -b zane 

新建分支,并转换到该分支

8. 从分支上clone文件

git clone 指定分支

git clone -b dev_jk http://10.1.1.11/service/tmall-service.git

命令中:多了一个 -b dev-jk,这个dev_jk就是分支,http://10.1.1.11/service/tmall-service.git为源码的仓库地址

9. git push错误failed to push some refs to的解决

git pull --rebase origin master
这条指令的意思是把远程库中的更新合并到本地库中,–rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值