博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从使用场景学Git
阅读量:6763 次
发布时间:2019-06-26

本文共 2134 字,大约阅读时间需要 7 分钟。

说明

1、在[...]中的内容,需要根据实际情况进行修改

1、克隆工程

将远程的数据复制一份到本地

#【仓库copy地址】git clone [git@rep.xx.com:zoeminghong/hello.git]

2、本地新建Git工程

现在打算将本地的工程,放到Git仓库进行托管了,并且远程Git仓库已经创建了该项目的工程

#本地初始化工程,会生成一个.git文件git init#将本地的工程与远程仓库中的项目进行关联(不用关心项目名不一致的问题)#此时本地工程与远程仓库已经建立了联系git remote add origin [git@rep.xx.com:zoeminghong/hello.git]#将本地所有文件添加到Git中,进行监管git add .#将内容提交 【提交注释】git commit -m "[...]"#将本地的内容同步到远程仓库中git push -u origin master

3、本地代码与远程代码冲突问题

本地代码未commit的前提下,解决与远程代码冲突问题

#将当前修改进行暂存起来git stash#获取最新的远程仓库代码git pull#恢复暂存的内容git stash pop

本地代码已经commit后,解决与远程代码冲突问题

# 获取远端库最新信息 【分支名称】git fetch origin [master]# 做比较git diff [本地分支名] origin/[远程分支名]# 拉取最新代码,同时会让你merge冲突git pull

方法2

# 获取最新代码到tmp分支上 [远程的分支:本地分支]git fetch origin [master:tmp]# 当前分支与tmp进行比较git diff tmp# 修改冲突部分,进行本地commit操作git add .git commit -m "[...]"# 将tmp中内容合并到当前分支中git merge tmp# 删除分支git branch -d tmp

4、回退到上一个commit节点,无log记录

当前内容没有commit的情况下

# 当前HEAD,返回到上一次commit点,不会有任何日志记录git reset HEAD --hard

最近内容已经commit的情况下

git reset HEAD^ --hard

5、回退到上一个commit节点,存在log记录

当前内容没有commit的情况下

# 当前HEAD,返回到上一次commit点git revert HEAD

最近内容已经commit的情况下

git revert HEAD^

6、切换到指定commit节点

不存在log记录

# 获取所有的HEAD更改信息的sha1值git reflog# 切换至指定的sha1节点git reset --hard [sha1值]

7、删除文件

保留副本操作

git rm --cache [文件名]

还原操作

git reset HEAD [文件名]

直接文件删除

git rm [文件名]

还原操作

git reset HEAD [文件名]git checkout -- [文件名]

8、本地分支与远程分支相连

本地创建了一个分支,远程也有一个分支,进行两者关联

git checkout -b [本地分支名] origin/[远程分支名]

9、Tag使用

我们在开发的时候,可能存在线上发布了一个版本,需要给这个版本代码打上一个标签,到时候可以方便回退到这个版本

# 创建tag 【tag名】git tag v1.0# 查看存在的taggit tag# 将tag更新到远程git push origin --tags

接下来就讲解回退到具体的tag

# 保存当前编程环境git stash# 切换回某个tag(v1.0)git show v1.0 #【sha1】git reset --hard [2da7ef1]# 创建分支来保存tag的数据,tag只是一个节点的标记,无法承载数据的修改记录,【分支名】git checkout -b [bill]# 接着你就可以在这里改啊改了

切换回主干或其他分支

# 切换分支git checkout master# 日志记录git reflog# 显示stash列表git stash list# 恢复之前的工作环境代码git stash apply# 删除stashgit stash drop

分支与主干合并

git add .git commit -m "v1.1"# bill分支合并到当前分支【分支名】git merge [bill]

10、关于代码的比较

# 显示暂存区和工作区的差异$ git diff# 显示暂存区和上一个commit的差异【文件名】$ git diff --cached [hell.txt]# 显示工作区与当前分支最新commit之间的差异$ git diff HEAD# 显示两次提交之间的差异【分支名】$ git diff [first-branch]...[second-branch]

更多内容可以关注微信公众号,或者访问网站

http://7xp64w.com1.z0.glb.clouddn.com/qrcode_for_gh_3e33976a25c9_258.jpg

转载地址:http://sebeo.baihongyu.com/

你可能感兴趣的文章
highcharts之折线图
查看>>
python re正则表达式基本使用介绍
查看>>
04-02-验证证书颁发机构是否成功
查看>>
Oracle 11G R2 DataGuard日常维护及故障处理
查看>>
Web.Config文件中使用configSource
查看>>
TCP-IP协议详解(15) HTTP协议概览
查看>>
burp suite 使用
查看>>
体验轻松传送
查看>>
MDT2012部署问题,捕获参考计算机
查看>>
linux运维实战练习-2015年8月30日课程作业(练习)安排
查看>>
给新手的最佳类Windows界面的Linux发行版
查看>>
Centos7下按照配置nexus2
查看>>
部署Azure Pack-安装Tenant API
查看>>
虚拟机克隆后无法启动eth0
查看>>
mysql 数据库调试分析
查看>>
Maven 每次update之后自动修改jdk问题
查看>>
Flex4 In Action翻译(第3章:使用ActionScript 01)
查看>>
左孩子右兄弟二叉树实现家族家谱
查看>>
返回线程中的信息
查看>>
如何移动应用的用户体验设计师
查看>>