美文网首页
新手git操作指南

新手git操作指南

作者: Katherine的小世界 | 来源:发表于2018-05-21 14:43 被阅读0次

    新手git操作指南

    前言:之前对git的操作只是停留在一个人的开发练习操作中,而git除了在版本管理方面有起到作用,对于多人协作也起了不少作用,导师也提了一个code review的想法,所以我也去多查看了一些常见的git操作,再此做一个记录,也给之后一些实习小白一点点帮助吧。

    1 git项目提交
    • 全局配置:
    git config --global user.name  "joanaxu"
    git config --global user.email "joanaxu@tencent.com"
    
    • 从0开始从远程仓库拉取新项目
    git clone http://git.code.oa.com/joanaxu/test.git
    cd test
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master  
    
    说明: 第一次关联使用git push -u origin master命令,加上-u参数,
    git会把本地仓库master分支内容推送到远程仓库的master分支,并且会将本地的master分支和远程的master分支关联起来,
    以后本地提交时只需要使用git push origin master命令即可。当远程仓库为空时可以关联成功。
    
    
    • 将本地现有项目推到远程master上
    盗图的
    cd existing_folder
    git init
    git remote add origin http://git.code.oa.com/joanaxu/test.git
    git add .
    git commit
    git push -u origin master
    
    2 git常见操作命令
    • 分支相关


      盗图的
    git branch    // 查看本地分支
    git branch -a  // 查看所有分支
    git checkkout -b test  // 创建test分支并切换到test分支
    git checkout test  // 切换到test分支
    git branch test  // 创建一个test的本地分支
    git merge feature1  // 将feature1分支合并到当前分支
    git branch -d feature1   // 将feature1分支删除
    
    • 忽略一些提交的文件
    忽略一些文件、文件夹不提交
    在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
    target
    bin
    *.db
    
    • 推送改动
     git push origin 分支名   // 将本地修改推送到远程服务分支上
     git remote add origin <server>  // 以后可以直接用origin来表示远程
    
    • 更新本地分支
     git pull // 从远程拉取分支
    
    • Bug 分支

    场景:当我们在一个开放分支上开放一段时间之后,测试那边有一个bug急需修改,因为我们当前的工作还没有完成,不能直接把当前的修改提交上去。其次,我们也不会直接不提交直接切换分支,这时候可以使用git stashgit stash 可以对当前的工作修改内容进行隐藏存进暂存区,等到bug修改完成后再回过来将暂存区内的修改拿出来继续开心地码代码。

    git stash //将修改存储到暂存区,工作区会删除这些修改
    git checkout <bug_branch>
    
    git stash  show  //查看刚才暂存的修改
    git checkout <feture_branch> //切换刚才功能开发的分支
    git stash pop //取出修改
    
    git stash list //查看暂存区的所有暂存修改记录
    
    git stash list //查看暂存区的所有暂存修改
    git stash apply stash@{X} //取出相应的暂存
    git stash drop stash@{X} //将记录列表中取出的对应暂存记录删除
    
    • 建议使用git rebase,这是为了使提交线上的逻辑不会那么复杂

    git pull = git fetch + git merge

    git pull --rebase = git fetch + git rebase

    git merge 和 git rebase 都是合并当前分支到另外一支分支上。

    1、git merge
    用git pull命令把"origin"分支上的修改pull下来与本地提交合并(merge)成版本M,但这样会形成图中的菱形,让人很困惑。

    盗图的

    2、git rebase
    创建一个新的提交R,R的文件内容和上面M的一样,但我们将E提交废除,当它不存在(图中用虚线表示)。由于这种删除,小李不应该push其他的repository.rebase的好处是避免了菱形的产生,保持提交曲线为直线,让大家易于理解。

    盗图的

    相关文章

      网友评论

          本文标题:新手git操作指南

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