美文网首页
Git常用操作练习

Git常用操作练习

作者: Sunshine_Boys | 来源:发表于2017-09-12 15:54 被阅读52次

    一.Git学习链接

    Git的官方网站:http://git-scm.com

    https://git-scm.com/download/mac 安装

    二. Git初始化

    当使用一台新的机器,且从没有使用过git。

    1. 首先从官网下载GIT工具,Xcode自带不用下,Intellj工具族需要下载安装。

    2. 安装好执行git config --global user.name “xxx” 配置git账户名

    3.git config --global user.email 'xxx' 推荐 这里填写你常用的邮箱账号作为你git的账户name

    三. 新建代码工程

    以iOS开发为例
    1.桌面新建一个工程名称为App 终端进入App目录
    2.去GitHub网站建立自己的共有仓库

    注册账号之后新建仓库.png 创建成功之后的页面.png

    3.Git初始化工程病进行第一次提交
    3.1终端操作

    Last login: Tue Sep 12 10:54:52 on ttys003
    hongjunzhangdeMacBook-Pro:~ hongjunzhang$ cd Desktop/App
    hongjunzhangdeMacBook-Pro:app hongjunzhang$ ls
    app     app.xcodeproj   appTests    appUITests
    hongjunzhangdeMacBook-Pro:app hongjunzhang$ git init
    hongjunzhangdeMacBook-Pro:app hongjunzhang$ git add README.md
    hongjunzhangdeMacBook-Pro:app hongjunzhang$ git commit -m "first commit"
    hongjunzhangdeMacBook-Pro:app hongjunzhang$ git remote add origin https://github.com/zhj1214/dasdsadasfa.git
    hongjunzhangdeMacBook-Pro:app hongjunzhang$ git push -u origin master
    

    3.2再啰嗦一句
    之后的代码修改和提交 请按照以下步骤
    git add .
    git commit -m'备注日志'
    git pull
    git push

    四.多人合作处理冲突

    多人合作时当我们使用git pull合并他人代码的时候有可能就会发生冲突
      使用git status查看那些文件有冲突 git diff 查看文件修改的内容
    Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存:
    4.1分别进入到每一个文件中,手动修改冲突的部位
    修改完毕后,执行git -u
    再执行git commit -m'' 、git pull、 git push
    4.2 某个文件你想使用对方/自己的版本
    执行git checkout --theirs/ours 文件名

    git官网 冲突操作
    http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF

    五.操作分支

    1.新建分支
      git branch 分支名(不会切换到新的分支)
      git checkout -b 分支名(会同时切换到新的分支)
      
      2. 查看已有分支
      git branch
      
      3. 切换分支
      git checkout 分支名
      
      4. 添加新的分支到服务器
      git add -A .
      git commit -m”注释”
      git push origin 本地分支名:服务器分支名

    六.日志

    1. 提交历史纪录
      git log
      2. 提交版本记录
      git reflog
    3.查看所有的提交记录 以及完整的 git comit id
    git log --pretty=oneline
    用git log --graph命令可以看到分支合并图
    用git remote -v显示更详细的信息 查看版本库 和 远程分支的详细信息

    七. 回退

    git reset --hard xxx 版本记录号

    八. 取消跟踪 文件

    git update-index --assume-unchanged your_file_path
    继续跟踪文件
    git update-index --no-assume-unchanged your_file_path

    九. 创建标签

    在Git中打标签非常简单,首先,切换到需要打标签的分支上:
    $ git branch

    • dev
      master
      $ git checkout master
      Switched to branch 'master'
      然后,敲命令git tag <name>就可以打一个新标签:
      $ git tag v1.0
      可以用命令git tag查看所有标签:
      $ git tag
      v1.0
      默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
      方法是找到历史提交的commit id,然后打上就可以了:
      $ git log --pretty=oneline --abbrev-commit
      6a5819e merged bug fix 101
      cc17032 fix bug 101
      7825a50 merge with no-ff
      6224937 add merge
      59bc1cb conflict fixed
      400b400 & simple
      75a857c AND simple
      fec145a branch test
      d17efd8 remove test.txt
      比方说要对add merge这次提交打标签,它对应的commit id是6224937,敲入命令:
      $ git tag v0.9 6224937 或者 $ git tag -a v0.1 -m "version 0.1 released" 3628164
      注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

    十.一些常用命令

    git status 查看状态和提示
    cat readme.txt 查看.md 和txt文件内容
    git checkout -- README.md 撤销最近一次的修改 有两种情况
    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态;
    $ git reset HEAD readme.txt 少了—- 就不是回退了 撤销缓存区的某个文件
    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,git reset --hard 版本记录号
    $ rm test.txt 删除文件 当然可以撤销 这个删除恢复删除的文件 git checkout -- README.md

    并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?

    幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
    $ git stash
    Saved working directory and index state WIP on dev: 6224937 add merge
    HEAD is now at 6224937 add merge

    实际上,Git还有很多可配置项。

    比如,让Git显示颜色,会让命令输出看起来更醒目:
    $ git config --global color.ui true
    快捷 方法
    有没有经常敲错命令?比如git status?status这个单词真心不好记。
    如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。
    我们只需要敲一行命令,告诉Git,以后st就表示status:
    $ git config --global alias.st status
    最变态的 查看提交记录方法 git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    相关文章

      网友评论

          本文标题:Git常用操作练习

          本文链接:https://www.haomeiwen.com/subject/divcsxtx.html