git使用

1.本地分支与远端分支的关联  为了解决git pull 和git push时提示 远程分支和本地分支名需要指定问题

git本地分支与远程分支关联与解除关联 - 简书

// 已有本地分支创建关联

git branch --set-upstream-to origin/远程分支名 本地分支名

// 取消本地分支与远端分支的关联

git branch --unset-upstream 本地分支名
 

git push 命用于从将本地的分支版本上传到远程并合并。

命令格式如下:

git push <远程主机名> <本地分支名>:<远程分支名>

如果本地分支名与远程分支名相同,则可以省略冒号:

git push <远程主机名> <本地分支名>

实例

以下命令将本地的 master 分支推送到 origin 主机的 master 分支。

$ git push origin master

相等于:

$ git push origin master:master

设置git branch --set-upstream-to  origin/secondbr secondbr (远程仓库分支。本地分支)后,再push 代码不需要 git push origin HAED:refs/for/secondbr

2.

  1. 工作区(workspace):本地电脑存放项目文件的地方,比如learnGitProject文件夹;
  2. 暂存区(Index/Stage):在使用git管理项目文件的时候,其本地的项目文件会多出一个.git的文件夹,将这个.git文件夹称之为版本库。其中.git文件夹中包含了两个部分,一个是暂存区(Index或者Stage),顾名思义就是暂时存放文件的地方,通常使用add命令将工作区的文件添加到暂存区里;
  3. 本地仓库(Repository):.git文件夹里还包括git自动创建的master分支,并且将HEAD指针指向master分支。使用commit命令可以将暂存区中的文件添加到本地仓库中;
  4. 远程仓库(Remote):不是在本地仓库中,项目代码在远程git服务器上,比如项目放在github上,就是一个远程仓库,通常使用clone命令将远程仓库拷贝到本地仓库中,开发后推送到远程仓库中即可;

3.

3.1先用 git branch -a 查看所有本地+远程分支

上方是本地分支区,下方origin一堆是远程分支;箭头指向的是当前本地分支、远程分支 

4.

git branch -vv

显示local分支对应的远程分支

5.

五、回退版本(时光穿梭机)

git status 查看工作目录、暂存区的状态

git diff 查看修改内容 (Git跟踪并管理的是文件的修改,而非文件本身)

  git diff 详细命令: https://www.jianshu.com/p/80542dc3164e

git log 查看日志(一次次commit修改情况,注意是以commit为粒度)

   (git log -p 可看到具体修改内容。按Enter向下阅读)

1)已经commit之后

  • git reset --hard HEAD~1 回退1个提交(彻底回退,冲掉回退的信息)
  • git reset --soft HEAD~1 回退1个提交+保留代码修改信息
  • git reset --hard d311cd2 ==》先用git reflog查看各个版本的 commit id(如d311cd2)进行自由回退 (很好用!)

2)已经add,但没有commit(错误还在 stage暂存区)

两步操作:

git reset HEAD [filename]

git checkout -- [filename]

3)还没有add(错误还在 工作区)

只需要一步:

git checkout -- [filename]

(这样操作的粒度比较小;reset的话,粒度比较大;因为一般是一次commit是一到多次add的总和)

分析下粒度:

多次add,一次commit;

多次commit,一次push;

所以:

commit后的reset --hard 序号《==》1~n次的commit的粒度

add后的reset HEAD《==》回退到上次commit后的状态,相当于1~n次的add的粒度

add前的 checkout -- [filename] 《==》回退到上次add后的状态,相当于1次add内的粒度

详细说明git reset:

git reset --hard HEAD^ 硬回退一步

(此时本地回退了,但是远程没有回退;如果需要远程也回退,就要git push origin xxx再提交一下)

git reflog 查看各个版本的 commit id(如d311cd2)

git reset --hard d311cd2 根据后面的commit -m "..."信息,找到对应的id,进行自由回退 (很好用!)

 Git 命令行操作 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值