Git学习笔记

本地仓库
git init 初始化一个本地仓库
git status 检查当前文件的状态
git add 文件名 将新文件纳入版本控制,或将修改的旧文件添加到暂存,以等待提交, 可以使用git add * 来添加所有文件(将新文件纳入版本控制,将修改的旧文件添加到暂存区)。
git rm 文件名 将文件从版本控制中删除,本地文件也被删除。
-f #如果文件在删除之前已经修改过并且被存放在了暂存区里,为了防止误删需要使用-f进行强制删除
git commit 将暂存区的文件提交到 本地仓库的当前分支
-m #添加简单的注释
-a #跳过暂存步骤,将本地所有已经跟踪的文件提交到本地仓库
--amend #修改上一次提交,补充上一次提交,或者更改上一次提交的提交说明。
git reset HEAD 文件名 取消已暂存的文件
git checkout 文件名 取消对文件的修改,将本地文件回退到修改之前。
git checkout . 取消所有修改

远程仓库
git clone URL 从远程仓库克隆一个本地仓库
git remote -v 查看当前所有远程仓库
git fetch [远程仓库名] [分支名] 只是将远端的数据拉到 本地仓库的远程分支 ,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。 若省略分支名,默认抓取远程仓库 所有分支 的更新。 若只想抓取指定分支的更新,则可以指定分支名
PS:查看远程分支git branch -r
查看所有分支git branch -a
git pull [远程主机名] [远程分支名]:[本地分支名] 从指定的远端仓库的指定分支抓取数据后,合并到工作目录中的指定的本地分支。 若本地分支省略,则默认合并到当前分支。 若当前分支为远程分支的跟踪分支,则可以省略远程分支名。 若当前分支跟踪唯一的远程分支,则远程仓库名也可省略。 当所有都省略时,git会fetch所有远程仓库的更新到本地仓库的远程分支,并且将当前的分支的跟踪的远程分支合merge到当前分支。
PS:一个本地分支能跟踪多个不同远程仓库的分支,但是对于一个远程仓库只能跟踪一个远程分支。
查看当前分支所跟踪的远程分支 git branch -vv
git push [远程仓库名][本地分支名]:[远程仓库分支名] 将指定本地分支推送到 指定远程分支 ,若你推送之前有其他人推送过,则该推送将被驳回,必须先拉取一次。 若省略远程分支名,则提交到与本地分支 同名 的分支,如果远程仓库不存在该分支,则创建一个同名的分支。 若当前分支为远程分支的跟踪分支,则可以省略本地分支。 若当前分支跟踪唯一的远程分支,则远程仓库名也可以省略。
git remote add [远程仓库重命名][URL]
git remote rm [远程仓库名]

本地分支
git branch
default #查看本地分支
-a #查看所有分支
-r #查看远程分支
-vv #查看所有分支跟踪的远程分支
[分支名] #新建分支
-d [分支名] #删除分支
-D [分支名] #强制删除分支,当当前分支没有被合并并且不是跟踪分支时使用。
git checkout [分支名]
default #切换分支
-b #新建并切换到该分支
git merge [分支名] 将指定分支合并到当前分支

远程分支
简介:远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置,无法直接在远程分支进行修改。
命名:远程仓库名/分支名 origin/master
git push (远程仓库名)(分支名) 推送当前本地分支到远程分支,不存在就创建
完整:git push 远程分支名 本地分支名:远程仓库分支名 一般来讲本地分支名和远程仓库分支名相同
git push 远程仓库名 :分支名 删除远程分支

跟踪分支
git branch (跟踪分支名) (远程仓库名)/(分支名) 创建跟踪分支
git checkout -b (跟踪分支名) (远程仓库名)/(分支名) 同上
git checkout --track (远程仓库名)/(分支名) 同上,本地跟踪分支名为(分支名)
git push --set-upstream (远程仓库名)/(分支名) 将当前的本地分支跟踪到指定的远程分支

git的一点理解
1、什么时候分支合并会冲突?
两个分支合并时,他们相对于他们的最佳同源合并点(共同祖先)修改了同一个文件时,合并会冲突。
2、git学习时的遇到的一个混淆点。
本地仓库的远程分支 远程仓库的分支 是两个不同的概念。在本地仓库我们通过操作远程分支来操作远程仓库的分支。
在我们git clone和每次git fetch时,每一个远程仓库的分支在本地仓库都会生成一个对应的远程分支。git fetch时还会将远程仓库的分支更新到本地仓库的远程分支。为了能够更加方便的操作远程分支和本地分支之间的关系,我们一般会创建一个跟踪关系,使一个本地分支跟踪一个远程分支,可以理解为一种绑定关系,这个本地分支也被称之为 跟踪分支 。在跟踪分支上的pull和push等操作可以省略很多参数,以使我们更加简单的操作远程分支和本地分支。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值