第一次向nodeclub提交修改

今天第一次向nodeclub提交了两个修改,两个修改都是涉及部分浏览器的兼容性的. Manager很快合并了我的修改,好开森。晚上又重新回炉了一下git的日常操作,将git部分操作整理了一下写于此博.  为开源而开心~ ~

git 初学指南


版本回退

  1. 历史查看

    git log or git log --pretty=oneline:列出所有的提交记录
    commit 333123123erer123sd123123213123213123
    commit后面的为提交的ID

  2. 退回相应版本

    退回版本有两种方法

    第一种:
    git reset --hard HEAD^: 上一个版本
    git reset --hard HEAD^^: 上上个版本
    git reset --hard HEAD~66: 上66个版本

    第二种
    git reset --hard commitID 退回相应版本的ID
    commitID可以不全,git会自动补全

  3. 回到退回前的版本

    后悔退到这个版本了怎么办,这时git log只能查看此版本之前的信息
    还好还有git reflog可以查看历史操作

本地仓库管理

  1. 本地添加修改并提交

    本地仓库分3个区域

    工作区 项目工程目录
    暂存区 版本库的stage
    分支 master和其他分支

    当我们对工作区的项目进行修改后可以使用git status查看修改文件信息
    将其放到暂存区stage使用git add somefile.cxs
    然后提交到本地分支git commit -m "some message"
    ( 如果在工作去做了改动却没有add而是直接commit,会出现提示信息要求你add,但你也可以在提交时使用git commit -am "some message" 加个a参数 )
    This time 修改已经提交到本地分支了

  2. 本地暂存区管理

    a. 添加
    git add 命令可以向暂存区添加文件 如果在一个add之后又修改了文件,那就必须再add一次
    ( git 管理的是修改,add的时候放入暂存区的是当前文件的修改并不是文件本身 )

    b. 查看
    git diff HEAD -- somefile.cxs 命令可以查看当前工作区文件和版本库中的差异

    c. 撤销
    # On branch master
    # Your branch is ahead of ‘origin/master‘ by 2 commits.
    # (use "git push" to publish your local commits)
    #
    # Changes to be committed:
    # (use "git reset HEAD <file>..." to unstage)
    #
    # modified: README.md
    # # 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.md
    #
    当我们向本地仓库提交过修改,向暂存区添加过修改或者在工作区修改过文件后用git status查看状态时都会有相应如上的提示。 上面的提示告诉我们3点

    • 本地分支中有两个commit,待提交当远程仓库中,使用git push提交。
    • 版本库的暂存区中有一个修改,待提交到本地仓库,使用git reset HEAD fileName从暂存区中删除修改
    • 工作区中有一个文件被修改,用git add fileName提交到暂存区,用git checkout -- fileName 将工作区中的文件恢复到上一次提交的状态。上一次提交的状态分两种。第一种:如果已经使用了add提交到暂存区,那就将恢复到最后一次提交到暂存区的状态。第二种如果暂存区为空那就会恢复到最后一次commit时的状态。

远程仓库

  1. 添加远程仓库

    使用git remote add <originName> <gitRepo> 添加远程仓库地址
    使用git push -u <originName> master 将本地的最新修改提交到远程仓库

  2. 克隆远程仓库到本地

    使用git clone <gitRepo>将远程仓库克隆到本地
    ( gitRepo的地址分两种一种使用ssh另一种使用https )

git 协作和开发


基本的分支操作

  1. 创建分支

    git branch dev 创建一个dev分支
    git checkout dev 切换到dev分支
    两步并一步 git checkout -b dev

  2. 分支切换

    git branch 查看当前有哪些分支
    找到分支然后git checkout <branchName>进行切换
    ( 有一点要注意的是当你在分支或主支上有修改没提交时是不允许进行分支切换的 )
    如果不允许切换有两种解决方法

    • 第一种解决方案:乖乖地将暂存区的修改删掉,把工作区修改的文件恢复到修改前的水平,这里涉及的两个命令已经讲过了,git reset HEAD fileNamegit checkout -- fileName
    • 第二种解决方案:使用git stash命令将现在的工作存起来,相当于保护现场.
      下次回到分支时使用git stash list查看存起来的工作,使用git stash pop将工作恢复,也可以使用git stash apply <stashName like [email protected]{0}>回复某一个工作
  3. 合并分支

    在dev和其他分支上的操作和在master上操作是一样的,操作完后使用git checkout master切换到master主分支上然后合并分支,合并分支有两种方式

    • 第一种方式:使用git merge <branchName> 如果使用这种方式合并在删除分支时会丢失分支信息
    • 第二种方式:( 推荐使用 ) git merge --no-ff -m "some message" <branchName>

    两种方式的区别如下图

    方式一:

    方式二:

  4. 合并时的冲突解决

    当我们合并分支是如果代码有冲突会出现这样的提示
    Auto-merging somefile.cxs
    CONFLICT (content): Merge conflict in somefile.cxs
    Automatic merge failed; fix conflicts and then commit the result
    这表明somefile.cxs文件里有代码冲突.冲突的地方标识如下.
    <<<<<<< HEAD
    Creating in Master.
    =======
    Creating in dev.
    >>>>>>> dev
    将代码修改后再 git add somefile.cxs
    然后 git commit -m "fixed somefile.cxs conflict" 提交

  5. 查看项目分支情况和删除分支

    git log --graph --pretty=oneline --abbrev-commit命令可以以图形的方式展现项目的分支情况.
    git branch -d <branchName>可以将分支删除.有时分支还没有合并到master上那就需要git branch -D <branchName>命令将分支删除

  6. 多人协作模式

    多人协作步骤如下

    • 使用git push origin <branchName> 推送自己的修改,如果出错说明远程分支的代码和你有冲突.
    • 如果代码有冲突那就使用git pull origin 抓取远程仓库合并,如果想保险一点可以先git fetch origin master:tmp 然后 git diff master tmp 查看一下远程仓库和自己的代码有什么差异,然后git merge tmp 解决代码冲突后提交到本地仓库,然后push到远程仓库
    • 如果你开发的是远程仓库的某个分支那你就需要在本地建立一个对应的分支,命令如下git checkout -b dev origin/dev
      ( 克隆下来的时候你只能看到master分支,其他分支是看不到的 )
      然后使用git branch --set-upstream <branchName> origin/<branchName>将本地分支与远程仓库分支进行关联.然后进行上面提到的两步操作

第一次向nodeclub提交修改

时间: 2024-10-21 20:49:38

第一次向nodeclub提交修改的相关文章

Git使用基本方法(从远程服务器获取分支,提交修改)

做项目初次用到Git,以前没用过,完全没不懂,琢磨了好久才弄得差不多,特此分享,可以少走点弯路. 这次用的操作系统是Mint 1.首先需要安装Git sudo apt-get install git 2.在本地新建Git仓库 新建一个文件夹,然后文件夹中打开终端,输入命令git init,即可创建一个仓库 3.连接Git服务器 这次我们用的服务器是http://git.oschina.net 输入命令 git remote add origin <server>,将<server>

SVN提交修改时出现:Checksum mismatch

在使用SVN commit提交修改时,提示Checksum mismatch 问题,提示版本不一致,不能提交,类似于下图. 图片来源于网络,如有侵权,请告知删除. 搜索stackoverflow.com找到对我症的答案,link:https://stackoverflow.com/questions/11230872/subversion-base-checksum-mismatch 具体操作: 1.本地复制一份出错的文件 filea 为fileb,然后add提交 2.在服务端重命名filea为

Git 提交修改内容和查看被修改的内容

我们将仓库里的readme.txt文件修改一下,改成如下内容: Git is a distributed version control systemGit is free software. 运行git status命令查看一下结果: $ git statusOn branch masterChanges not staged for commit: (use "git add <file>..." to update what will be committed) (u

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

找到一篇很详细的Git教程,真的很不错,推荐!!! GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  . GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'description' ; -- 本地git仓库关联GitHub仓库 : git remote add origin [email 

git使用(二):修改代码并提交修改文件

修改文件后,如何提交到git服务器? (1)首先需要add,比如.config是被修改的文件,则 git add .config (2)然后执行git commit -m "modify .config for some reason" (3)然后git push 到git服务器 (4)更新:git pull (5)查看log:git log 如下是全部过程: [email protected]:/study/linux-git/linux-git/linux-3.18.3# git

设置VisualSVN在提交修改时必须输入一定数量的备注信息

我发现在使用SVN中,提交时,很多人不习惯填写备注信息,虽然在培训中.平时使用时多次提醒备注信息的好处,但是效果不大,每次提交时还是不写,或者随便写两字. 所以很有必要通过系统设置强制填写足够数量的备注信息. 在VisualSVN中提供了这种功能,可以在提交之前执行一个脚本,如果提交的信息不符合要求(比如备注信息不够长),就返给客户端一个错误,提交不成功. 在VisualSVN管理器中右键点击一个项目,弹出菜单,在”所有任务”中,可以看到“Manage Hooks...”菜单,如下: 点击之后弹

提交修改

提交你的第一个更改 一个提交就像你项目里的文件在一个特定时间点上的快照一样. 当你创建了一个新仓库,你通过 README 文件初始化它.README 文件里有关于你这个项目详细的解释,或者添加一些关于如何安装或者使用该项目的文档.README 文件的内容会自动地显示在你仓库的首页. 让我们提交一个对 README 文件的修改. 1.在你仓库的文件列表,点击 README.md. 2.在文件内容的上方,点击编辑按钮. 3.在 Edit file 标签上,输入一些关于你自己的信息. 4.在新内容的上

git单独针对一个仓库实现子目录提交修改

项目组有个需求:目前我们线上代码都是git 仓库托管的,开发和前端都需要对仓库中的js目录中的文件进行修改,为了避免冲突,想到了把仓库中的子目录分离开来,让前端工程师可以提交到git 仓库.以前是通过ftp进行更新,会有很多问题.更改了这种方式会提高工作效率 git和svn对比: svn是基于文件方式的集中存储,Git却是基于元数据方式散布式存储文件信息的,它会在每次Clone的时候将所有信息都取回到本地,即相当于在你的机器上生成1个克隆版的版本库,既然本地有了完全的版本库,肯定就有所有权限了,