git版本控制操作教程:基础操作

平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤;
优秀也就两个字: 你和我。
跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!
关注微信公众号【 IT特靠谱 】,每天都会分享技术心得~

git版本控制操作教程:基础操作

1 git简介

      Git是一个免费的开源分布式版本控制系统,它可以快速高效地处理小到非常大的项目。

      Git易于学习,占用空间小,性能快如闪电。它超越了SCM工具(比如:Subversion、CVS、Perforce和ClearCase),具有本地分支、便捷的暂存区域和多工作流等特性。

      下图来源于:https://www.cnblogs.com/chenwolong/p/GIT.html

      专业名词解释:

      (1)Workspace:工作区

      (2)Index / Stage:暂存区

      (3)Repository:仓库区(或本地仓库),即git管理的本地仓库

      (4)Remote:远程仓库

2 git基本操作

      前提:确保已经成功安装了git客户端。

2.1 一般配置操作

      (1)查看git的版本信息

            git --version

      (2)获取当前登录的用户

            git config --global user.name

      (3)获取当前登录用户的邮箱

            git config --global user.email

      (4)设置当前登录的用户

            git config --global user.name “用户名”

      (5)设置当前登录用户的邮箱

            git config --global user.email “邮箱”  

      说明:以上global可以替换成local。local的优先级最高!如果global和local都配置了git用户名和邮箱,那么会以local为准。

2.2 新建代码仓库

      (1)方式1:在【当前目录】新建一个Git代码库

            git init

            执行上述命令后当前目录会到一个.git的隐藏文件夹,也就意味着当前目录被git纳入管理了!

            具体操作步骤:

            1)在windows系统中任意目录下创建一个名为"gitTest"的文件夹。

            2)在"gitTest"文件夹中右键鼠标,点击“Git Bash Here”。打开git命令输入框。

            3)在git命令输入框中输入“git init”命令,就将"gitTest"文件夹创建成了能被git管理的版本仓库。我们的项目代码就放在"gitTest"版本仓库中。

                  说明:执行“git init”命令后,就会在"gitTest"文件夹中创建一个“.git”隐藏文件,这个隐藏文件中就是保存的git仓库的版本信息!一般不要手工去操作“.git”文件夹中的内容,而是通过各种git命令去操作它!

      (2)方式2:新建一个项目文件夹(projecrt-name),并将其初始化为Git代码库

            git init [project-name]

      (3)方式3:从git远程仓库克隆一个项目和它的整个代码历史

            git clone [url]

2.3 新建“README.md”和“.gitignore”文件

        在gitTest项目仓库中添加README.md和.gitignore文件。

      (1)创建一个空文件:touch README.md

              编辑文件: vim README.md

      (2)创建一个空文件:touch .gitignore

              编辑文件: vim .gitignore

      Tips:可在.gitignore文件里面添加被git忽略的文件或目录,支持正则表达式!

2.4 创建远程仓库--》将本地仓库与远程仓库绑定--》提交本地仓库修改到远程仓库

      步骤如下:

      (1)在github/gitlab等平台创建一个名为"gitTestRepository"的仓库(仓库名尽量与项目名"gitTest"保持一致,由于作者远程仓库中已经存在名为gitTest的仓库了,所以这里取名为gitTestRepository)。

      (2)本地仓库和远程仓库建立连接,并推送本地仓库某分支到远程仓库

       点击上图"create repository"按钮后就会创建一个名为"gitTestRepository"的远程仓库。由于我们已经创建了一个名为"gitTest"的本地仓库,因此我们采用下图中第2中方法来将本地仓库和远程仓库建立连接,建立连接后我们就可以将本地仓库的某分支推送到远程仓库了。

      1) 本地仓库和远程仓库建立连接:git remote add origin https://github.com/xxxxx/gitTestRepository.git

      2)推送本地仓库某分支到远程仓库

           由于我们本地仓库有两个分支master和dev。因此我们需要将这两个分支分别推送到远程仓库。

           推送本地仓库master分支到远程仓库:git push origin master:master

           推送本地仓库dev分支到远程仓库:git push origin dev:dev

          这时在远程仓库中就可以看到dev和master分支以及对应的文件内容了!

      3)本地仓库分支与远程仓库分支建立追踪关系

            上面git push origin dev:dev和git push origin master:master命令仅仅是将本地仓库的dev和master分支推送到了远程仓库,但是并没有将本地dev与远程dev、本地master与远程master分支建立追踪关系。如果没有建立追踪关系,那么我们git pull或git push的时候git会提示如下信息:

          因此我们需要建立追踪关系:

          1)本地仓库dev分支与远程仓库dev分支建立追踪关系:git branch --set-upstream-to=origin/dev dev

          2)本地仓库master分支与远程仓库master分支建立追踪关系:git branch --set-upstream-to=origin/master master

2.5 将工作区的修改添加到暂存区

      (1)将指定文件添加到暂存区

            git add 文件名

      (2)将工作区所有变更的文件添加到暂存区

            git add .

2.6 将暂存区的文件提交到本地仓库

      (1)暂存区的文件提交到本地仓库、并添加提交注释

            git commit -m "commit备注"

2.7 查看状态和日志

      (1)显示所有变更的文件

            git status

      (2)查看当前分支的提交版本历史

            git log

      (3)显示当前分支的提交或回退操作记录

            git reflog

      (4)比较当前分支【工作区】与【本地仓库】进行比较,显示出差异

            git diff

      (5)比较当前分支【暂存区】与【本地仓库】版本进行比较,显示出差异

            git diff --cached

      (6)比较当前分支【工作区】与【暂存区】进行比较,显示出差异

            git diff HEAD

2.8 分支操作

      (1)查看本地所有分支

            git branch

      (2)查看远程所有分支

            git branch -r

      (3)新建一个本地分支,但依然停留在当前分支

            git branch 新分支名

      (4)切换到指定分支,并更新工作区

            git checkout 分支名

            上面这个命令做的不过是将HEAD移到一个新的分支,然后更新工作目录。更新目录可能会覆盖本地的修改,Git强制你提交或者你自己缓存(git stash)工作目录中的所有更改,不然在checkout切换分支的时候这些更改都会丢失。

      (5) 建立追踪关系,在现有分支与指定的远程分支之间建立关系

            git branch --set-upstream [本地分支] [远程分支]

      (6)删除本地分支

            git branch -d 本地分支名

      (7)本地存在一个分支,名称叫:dev1,但远程没有怎么办?

           1) 将本地仓库dev1分支推送到远程仓库(远程仓库会自动创建一个dev1分支):git push origin dev1:dev1

           2)本地dev1分支和远程dev1分支建立跟踪关系:git branch --set-upstream-to=origin/dev1 dev1  

      (8)将指定分支的代码合并到当前分支。

            git merge 分支名称

      (10)将远程仓库中的分支dev2拉取到本地仓库

            场景:在远程仓库的dev分支的基础上,github/gitlab等网页方式新建一个远程分支dev2。此时dev2只存在于远程仓库,本地仓库并没有dev2分支。

            目的:将远程仓库的dev2分支拉取到本地仓库中。

            操作:

                  1)将远程分支拉取到本地:git pull origin dev2:dev2

                  2)将本地dev2分支与远程origin dev2分支建立追踪关系:git branch --set-upstream-to=origin/dev2 dev2

2.9 远程同步

      (1)获取远程仓库的变化,并与本地分支合并。

            git pull

            这个命令其实执行了两步。1.获取远程仓库的变化;  2.将远程仓库的变化合并到本地分支。

      (2)将本地分支的commit提交推送到远程仓库

            git push

      注意:

            1)每次git push之前应该执行git pull。保证远程仓库与本地仓库节点一致,如果有冲突就先解决冲突,冲突解决完后执行git push就完成了将本地变更推送到远程仓库!

            2)如果git push之前没有执行git pull,如果其它开发人员已经git push本地代码到远程仓库,那么你git push的时候就会提示代码有冲突,需要你手动merge冲突代码后执行git add-->commit-->push操作,将merge后的代码推送到远程仓库。

    (1) 商务合作微信号:M9392W

    (2) 购物商城: 扫码即可进入博主开发的小程序购物商城,享超大优惠购物,支持一下博主吧~

    (3) 博主微信公众号IT特靠谱,学习更多开发实战技巧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT_Most

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值