Git操作

一.直接手动在仓库中下载zip,解压后在文件夹创建本地仓库

第一步:

进入解压后的代码文件夹,右键Git Bash Here

git init(初始化仓库)——>git add .(将所有修改添加到暂存区)——>git status(查看暂存区和工作区的状态)——>git commit -m 'first commit'(将暂存区的修改添加到工作区)

第二步:

若果远程仓库出现修改,需要拉取代码时,由于本地仓库和远程仓库是独立的两个仓库,拥有不同的history,因此需要以下操作:

git remote add origin 远程仓库地址(关联远程仓库)——>git pull origin dev  -- allow-unrelated-histories (拉取dev分支代码,因为两个仓库不相关,所以在pull的时候需要增加参数)

第三步:

之后修改了本地库,需要push代码了

git remote -v (查看远程库地址别名) ——>git checkout -b dev(新建并切换分支,本地和远程都会切换)——>git push origin dev(本地库dev分支推送到远程库,分支必须指定)

二.使用git clone得到本地库

(1) git clone 远程库地址(功能:①完整的克隆远程库为本地库,②为本地库新建origin别名,③初始化本地库)

(2) git checkout -b dev(本地新建并切换到dev分支,远程也会切换到dev分支)

(3) 本地进行开发

(4) git add .(将所有修改添加到暂存区)

(5) git commit -m '提交说明'(将暂存区的内容提交到本地库)

(6) git remote -v:(查看远程库地址别名)

(7) git pull <别名> <分支名> (把远程库的修改拉取到本地,该命令包括git fetch,git merge)

(8) git push <别名> <分支名> (本地库某个分支推送到远程库,分支必须指定)

三.一些常用本地操作

1.日志操作

git log:查看历史提交(空格向下翻页,b向上翻页,q退出)

--pretty=oneline:以漂亮的一行显示,包含全部哈希索引值

--oneline:以简洁的一行显示,包含简洁哈希索引值

git reflog:以简洁的一行显示,包含简洁哈希索引值,同时显示移动到某个历史版本所需的步数

2.分支操作

新建本地分支

使用 git brach 命令可以新建一个分支

$git branch dev-xxx

新建完分支后可以使用 git checkout 切换到刚才新建的分支

$git checkout dev-xxx

如果你想一条指令完成新建并切换到新分支,git checkout -b会是最佳选择.

$git checkout -b dev-xxx
Switched to a new branch 'dev-xxx'

此时你可以先将该分支同步到远程,也可以等你完成所有开发工作后一次性同步,
现在你可以在自己的分支上折腾。

第三步 同步到远程

使用git push命令会将本地的修改同步到远程仓库,此时别人即可以看到你所有的修改,在push前所有的更改都在你的本地缓存。

$git push origin dev-xxx

git branch -v:查看本地所有分支,-a为查看本地和远程所有分支

git branch -d <分支名>:删除分支

git branch -m <旧分支名> <新分支名>:重命名分支

git branch <分支名>:新建分支

git checkout <分支名>:切换分支,-b <分支名>包含新建和切换两个步骤

git merge <被合并分支名>:合并分支

注意:

1.如master分支合并 hot_fix分支,那么当前必须处于master分支上,然后执行 git merge hot_fix 命令

2.合并出现冲突

    ①删除git自动标记符号,如<<<<<<< HEAD、>>>>>>>等

    ②修改到满意后,保存退出

    ③git add <file name>

    ④git commit -m "日志信息",此时后面不要带文件名

3.常用的分支:

  1. Production分支(主线分支用于发版,不会直接改)

  2. Master分支,这个分支只能从其他分支合并,不能在这个分支直接修改

  3. Develop分支(开发分支)这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支

  4. Feature分支(新功能分支)这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release

  5. Release分支(偏向测试)当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支

  6. Hotfix分支(紧急bug发布)当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release

3.版本控制

git reset --hard 简洁/完整哈希索引值:回到指定哈希值所对应的版本

git reset --hard HEAD:强制工作区、暂存区、本地库为当前HEAD指针所在的版本

git reset --hard HEAD^:后退一个版本,一个^表示回退一个版本

git reset --hard HEAD~1:后退一个版本,波浪线~后面的数字表示后退几个版本

注意:

--soft参数:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;

--hard参数:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉,因此要慎用。

4.比较差异

git diff:比较工作区和暂存区的所有文件差异

git diff <file name>:比较工作区和暂存区的指定文件的差异

git diff HEAD|HEAD^|HEAD~|哈希索引值 <file name>:比较工作区跟本地库的某个版本的指定文件的差异

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值