Git使用

git多人协作开发

$ git 多人协作开发介绍

  • 需要有一个服务器
  • 除了在本地提交,还需要往服务器提交
  • 需要添加 .gitignore 文件
  • 有可能产生冲突,需要手动解决

$ git 多人协作过程

  1. 初始化一个 git 服务器
  2. 添加 .gitignore 文件
  3. 项目经理创建项目
  4. 开发人员克隆服务器版本库到本地
  5. 开始开发
git init --bare //建立一个git服务器代码仓库
git clone <服务器地址> //建立一个git服务器代码仓库
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
git push //把本地版本库提交到服务器,类似 svn 的 commit
git pull //把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update
git config --global push.default simple/maching //默认simple,只提交当前分支

$ 冲突解决

  • 养成先执行 git commit 命令后;再执行 git pull;最后执行 git push 的好习惯;

二 标签管理

$ tag 的作用

  • tag 可以对 git 版本库中阶段性的,重要的版本做一个标记(比如说 appStore 上线版本);
  • 我们可以通过 tag 快速地定位到某个重要版本;

$ tag 的相关操作

  • tag 的相关操作包括,添中、删除、查看 tag。将 tag 提交到服务器等
git tag –a 1.0 –m “name” //添加新标签 
git tag //查看所有tag
git tag -n // 查看所有 tag,带注释
git checkout 1.0 //切换到某一标签版本 
git show 1.0 //查看某个标签及其对应版本的详细信息
git tag -d 1.0 //删除一个版本
git push origin 1.0 //将版本推送到服务器


三 分支管理

$git 分支

  • 分支就是从主干(主分支)的某一个版本分出来的一个支干
  • 每一条支干上的操作相互独立
  • 分支之间可以相互合并
  • 在解决 bug, 开发新功能时,可以用分支

分支的操作

  • 分支的操作主要涉及分支的创建、切换、删除、提交、合并等 
git branch //查看当前分支 
git branch -a //查看所有分支
git checkou -b dev //创建一个分支 dev, 并切换到该分支
git push origin dev //在本地创建一个分支
git checkout master //切换到分支 master
git branch -D dev //删除本地 dev 分支
git git push origin :dev //删除远程 dev 分支
git merge dev //将 dev分支合并到当前分支

 

$ git命令总结


//git 本地版本管理命令
git init //初始化一个本地git代码仓库
git confit user.name //配置用户名
git config user.email //配置用户邮箱     
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git diff //比较当前版本和之前版本的区别
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
git log //查看截止到当前版本的历史记录
git reset --hard HEAD^ //将代码回滚到之前版本
git reflog //查看所有操作过的历史记录

//多人协作开发命令
git init --bare //建立一个git服务器代码仓库
git clone <服务器地址> //建立一个git服务器代码仓库
git push //把本地版本库提交到服务器,类似 svn 的 commit
git pull //把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update
git config --global push.default simple/maching //默认simple,只提交当前分支

//tag及分支命令
git tag –a 1.0 –m “name” //添加新标签 
git tag //查看所有tag
git tag -n // 查看所有 tag,带注释
git checkout 1.0 //切换到某一标签版本 
git show 1.0 //查看某个标签及其对应版本的详细信息
git tag -d 1.0 //删除一个版本
git push origin 1.0 //将版本推送到服务器

//分支相关命令
git branch //查看当前分支 
git branch -a //查看所有分支
git checkou -b dev //创建一个分支 dev, 并切换到该分支
git push origin dev //在本地创建一个分支
git checkout master //切换到分支 master
git branch -D dev //删除本地 dev 分支
git git push origin :dev //删除远程 dev 分支
git merge dev //将 dev分支合并到当前分支

$ git注意事项

  • .git不能修改
  • 提交之前,需要先配置个人信息
  • 在项目新建之前,需要添加 .gitignore文件(工作当中是项目经理的活)
  • push 之前,先执行 commit, 再执行 pull 的操作
  • 项目开发过程中,未经允许,不能修改别人的代码
  • 重要的版本打 tag

$ git扩展

  • 配置别名: git 的的命令可以通过配置别名的行式,使命令变得更简单

      比如说:`$ git config --global alias.st status` 意思是给 `status` 命令配置一个别名 `st`, 敲git st就表示git status
    
      $ git config --global alias.st status
      $ git config --global alias.co checkout
      $ git config --global alias.ci commit
      $ git config --global alias.br branch
      $ git config --global alias.unstage 'reset HEAD'
      $ git ci -m "bala bala bala..."
    
      $ git unstage test.py
      实际上Git执行的是:
      $ git reset HEAD test.py
    
      $ git config --global alias.last 'log -1'
      这样,用git last就能显示最近一次的提交:
    
      甚至还有人丧心病狂地把lg配置成了:
      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 lg的效果:
    
      git-lg
    
  • 配置文件

    • 配置Git的时候,加上--global是针对全局的 git 仓库起作用的,如果不加,那只针对当前的仓库起作用。 
    • 配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中:

      $ cat .git/config 
      [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
      [remote "origin"]
        url = git@github.com:michaelliao/learngit.git
        fetch = +refs/heads/*:refs/remotes/origin/*
      [branch "master"]
        remote = origin
        merge = refs/heads/master
      [alias]
        last = log -1
      
    • 全局的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:
      $ cat .gitconfig
      [alias]
        co = checkout
        ci = commit
        br = branch
        st = status
      [user]
        name = Your Name
        email = your@email.com


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值