【git】基本拉取和推送

本文详细介绍了如何使用Git进行分支操作,包括从远程仓库拉取并创建本地分支、将本地分支推送到远程、以及如何在不同场景下放弃本地修改并强制拉取更新。内容涵盖gitfetch、gitreset、gitpull和gitstash等关键命令的使用方法。
摘要由CSDN通过智能技术生成

一、git拉取远程已有分支到本地

1.mkdir aaa
2.cd aaa
3.git init
4.git remote add origin git@github.com:happychen666/gitTest.git     #与origin master建立连接(为远程仓库链接)                         
5.git fetch origin dev(dev为远程仓库的分支名)  #把远程分支拉到本地
6..git checkout -b dev(本地分支名称) origin/dev(远程分支名称)  #在本地创建分支dev并切换到该分支
7.git pull origin dev(远程分支名称)   #把远程分支上的内容都拉取到本地


二、推送本地分支local_branch到远程分支 remote_branch

1..远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch

git add .

git commit -m "test02分支提交代码"

git push
2.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch
git push -u origin/remote_branch

3.远程没有remote_branch分支并且本地已经切换到local_branch
git push origin local_branch:remote_branch

三、git 放弃本地修改,强制拉取更新

(1)用stash,暂存代码再同步。

首先,将所有代码添加至暂存区:

git add .
然后,将代码临时保存:

git stash
此时代码会重置到修改前的状态,可以同步远程仓库区,完事儿。

git pull
同步后,如果还想继续修改原来的代码,可将临时代码恢复至工作区:

git stash pop
注意,stash 用法有很多,比如save,push,pop,clear等,需要使用可以查阅stash 命令

(2)用reset

比较暴力,相当于 可适用于 代码在工作区、暂存区、仓库区等任何场景,重置后不可恢复,对于新手有一定的安全隐患。

git fetch --all
git reset --hard origin/master
git pull   // 这一步为了同步远程代码,不需要的话可不执行


git fetch 指令是下载远程仓库最新内容,不做合并。
git reset 指令把HEAD指向master最新版本。

  • reset --hard:重置后不保留暂存区和工作区
  • reset --soft:保留工作区,并把重置 HEAD 所带来的新的差异放进暂存区(此时代码的变更状态相当于执行完 git add命令)
  • reset --mixed:reset的默认参数,保留工作目录,并重置暂存区(此时代码的变更状态相当于执行 git add命令之前)

(3)用restore 重置
如果你修改了代码,但是并未执行 git add 操作,可直接执行:

git restore .
. 表示所有文件,如果想重置个别文件,指定文件路径即可

git restore <文件>...
注意:如果你已经执行了 git add 操作,此时代码已保存至暂存区,需要先取消暂存区变更:

git restore --staged .
或者git reset .
然后,再执行 git pull 拉取远程代码同步即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值