git操作教程

一、Git是什么?

       一个分布式版本控制工具,与svn类似,但是功能比之强大,代码管理比较更安全,方便,不过上手难度相比svn要难一点点。代码分别在本地仓库和远程仓库管理。git命令格式可以参考linux命令

二、怎么用?

      1.本地搭建

         ①.安装git

         ②.创建本地目录

         ③.进入目录,配置用户信息

it@hs MINGW64 ~/Desktop
$ git config --global user.name "***"

it@hs MINGW64 ~/Desktop
$ git config --global user.email "***@163.com"

           ④.初始化本地仓库   git init

$ git init
Initialized empty Git repository in D:/gitTest/.git/
             ⑤.提交本地文件    -m ' *** ' 是对本次修改的说明

it@hs MINGW64 /d/gitTest (master)
$ git add README.txt

it@hs MINGW64 /d/gitTest (master)
$ git commit -m 'README.txt提交'
[master (root-commit) 886a134] README.txt提交
 1 file changed, 1 insertion(+)
 create mode 100644 README.txt
                add命令提交到本地暂存区(也就是当前.git中)

           commit提交到工作区(也就是本地仓库)

       ⑥.提交修改

           修改完文件后查看文件状态

it@hs MINGW64 /d/gitTest (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   README.txt

no changes added to commit (use "git add" and/or "git commit -a")
             提示README.txt被修改了

         查看被修改的内容是什么,添加了一行,内容为 1

it@hs MINGW64 /d/gitTest (master)
$ git diff README.txt
diff --git a/README.txt b/README.txt
index 93e5638..5f6d872 100644
--- a/README.txt
+++ b/README.txt
@@ -1 +1,2 @@
-hello world git
\ No newline at end of file
+hello world git
+1
\ No newline at end of file
               查看文件内容

it@hs MINGW64 /d/gitTest (master)
$ cat README.txt
hello world git

            add 和 commit后再次查看文件状态

it@hs MINGW64 /d/gitTest (master)
$ git status
On branch master
nothing to commit, working tree clean
               本地已和本地仓库一致

       ⑦.修改撤销

            在本地做了add或者commit操作以后需要放弃修改的内容时

           git checkout --文件/分支

           表示从远程仓库,重新clone一份修改之前的代码

           如果已经push到了远程仓库那么只好做版本的回退

       ⑧.文件删除

it@hs MINGW64 /d/gitTest (master)
$ rm a.txt
              如果误删了,可以通过 git checkout 重新下载一份;如果删除操作已经提交了,那么只能版本回退

       ⑨.版本回退

          git log查看版本信息

it@hs MINGW64 /d/gitTest (master)
$ git log
commit 5992bbcca64370b1bd0a74d90c3ba2244e29b14f
Author: hss <lfsfxy163@163.com>
Date:   Sun Apr 23 19:09:37 2017 +0800

    增加2

commit 765322dcbd1750cfc7dc1022aa211b3415e6b7d2
Author: hss <lfsfxy163@163.com>
Date:   Sun Apr 23 19:08:03 2017 +0800

    增加2

commit 502f1c0445275e9f4f972dcc058db36d95a525ec
Author: hss <lfsfxy163@163.com>
Date:   Sun Apr 23 19:06:04 2017 +0800

    READEME.txt添加1
            内容有点多,而且无用信息比较多,简化版版本查看

it@hs MINGW64 /d/gitTest (master)
$ git log --pretty=oneline
5992bbcca64370b1bd0a74d90c3ba2244e29b14f 增加2
765322dcbd1750cfc7dc1022aa211b3415e6b7d2 增加2
502f1c0445275e9f4f972dcc058db36d95a525ec READEME.txt添加1
886a134a28c0a97332955a40ec8f747d683280ff README.txt提交
            回退到上一个版本

it@hs MINGW64 /d/gitTest (master)
$ git reset --hard HEAD^
HEAD is now at 765322d 增加2
            HEAD^^表示会退到上上个版本,依次类推

        或者 git reset --hard  版本号

        如果忘了版本号,可用以下命令查看

it@hs MINGW64 /d/gitTest (master)
$ git reflog
502f1c0 HEAD@{0}: reset: moving to HEAD^
765322d HEAD@{1}: reset: moving to HEAD^
5992bbc HEAD@{2}: commit: 增加2
765322d HEAD@{3}: commit: 增加2
502f1c0 HEAD@{4}: commit: READEME.txt添加1
886a134 HEAD@{5}: commit (initial): README.txt提交
              每行前边内容即为版本号

     2.远程仓库(以gitHub为例)

        ①.首先需要把本地的SSH key放在gitHub上,文件位置在用户目录下的.ssh中

        ②.关联远程仓库

    $git remote add origin git@github.com:<个人账号>/<远程仓库名称>.git

        ③.clone 或者 push

             链接在gitHub账户中会生成

      3.分支管理

          分支之间与主分支的关系可以理解为平行的,互不干扰,不过一般在项目开发中都会以主分支为核心,此分支开发完毕后代码合并到主分支确定最后的代码

              分支创建

$ git checkout -b develop
Switched to a new branch 'dev'
             代表创建并切换到develop分支上

         与下边两条语句作用相同

$ git branch dev
$ git checkout dev
Switched to branch 'dev'
             查看分支信息    *代表当前所在分支

$ git branch
* develop
  master
             切换分支

$ git checkout master
Switched to branch 'master'
              删除分支

$ git branch -d develop
            合并分支,把develop分支与当前分支内容合并

$ git merge develop

       4.冲突处理

           冲突出现是,远程仓库各个分支版本相同但是内容不同,在代码合并的时候出现同一文件在多个分支都被修改导致的冲突

            Git在文件中一般用<<<<<<<=======>>>>>>>标示出不同分支的内容

            出现冲突后手动把冲突解决然后再次提交即可..

            查看分支合并情况,分支树

$ git log --graph --pretty=oneline --abbrev-commit
         这些命令目前可以应对git的使用了

三、小结

       1.冲突能避免则避免,及早把冲突扼杀在摇篮中,这就要求每个开发人员规范的使用git,及时更新代码提交代码

       2.分支要尽量的精简,太多分支出现冲突的可能性会大大增加...

       3.更多高级的命令要在实践中去挖掘...





评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值