git的使用入门介绍-3

   今天,还是继续介绍一下git基本使用,一个比较重要的功能,撤销操作

   任何时候,你都有可能需要撤销刚才所做的某些操作,好,废话不多

   情况1:修改最后一次提交

                          当我们提交完了,才发现有几个漏掉了,或者提交的说明消息写的不怎么准确,可以用--amend

   如果不在对文件做任何操作,运行git commit --amend则相当于有机会修改提交说明

   下面举个例子说明一下:

   $ git commit -m 'initial commit'

   $ git add forgoten_file

   $ git commit --amend

   以上这三条命令最终得到一个提交,第二次提交修正了第一次的提交


   情况2:取消已经暂存的文件

   如果有多个文件,我们想分次提交,一不小心,git add *,都加入了暂存区,这就得取消你这一次不想提交的文件,看下面

   git reset HEAD xxxx.txt  其实在git status中,有该条命令的提示,请仔细查看

现在xxxx.txt文件的状态已经是修改未提交


   情况3:取消对文件的修改

   现在想想对xxxx.txt的修改有点莫名其妙,还是不要修改了,回到之前的状态,怎么办呢?

   git checkout -- xxxx.txt,俗话说,有利就有弊,修改的部分操作就有没有了,请一定确认好是否要这样做,如果想保存修改的操作,又想回到之前的未修改的状态,后面会有说明,这就是git的数据恢复,很强大啊,慢慢来,不着急


   在来一个比较重要的概念,远程仓库的使用             


   这个比较重要了,涉及到团队的合作问题了,一个项目毕竟要一个公共的,大家都可以访问的地方,根据不同的职责,分配不同的权限,来彼此查看项目的进度,下面好好谈谈远程仓库的管理和使用

   1.查看当前的远程库

     git remote : 当你克隆了一个项目后,至少可以看到一个origin的远程仓库,git默认使用这个名字来标识你所克隆的原始仓库

     进一步,git remote -v : 可以输出远程仓库的地址

例如:$ git remote -v

      origin  git://github.com/xxxxxx/xxxxxx.git

如果有多个远程仓库,此命令会将远程仓库全部列出

      test1   git://github.com/xxxxxx/xxxxxx.git

      test2   git://github.com/xxxxxx/yyyyyy.git

      ...


   2.添加远程仓库

     git remote add test1 git://github.com/yyyyyy/xxxxxx.git

     现在就可以用test1来指代对应的远程仓库了,比如想获取yyyyyy的项目中有的,而本地没有的,就可以使用git fetch test1,git fetch并不会把远程分支的数据合并到当前分支中,仅仅是拉取到本地,至于合并这些动作,需要你确定好之后,自己去手动执行,git fetch是用来抓取数据的


   3.推送数据到远程分支

     git push [remotebranch-name] [localbranch-name]

     一般而言,使用git clone后,默认的情况是,本地使用master,远程使用origin,所以就是

     git push origin master

     推送是有条件的,只有当你对远程分支有写权限时,其他人没有对该分支的更新时;当项目中的其他人对分支有了更新操作,你必须先把他人更新后的操作fetch到本地,合并到本地分支钟,才能推送


   4.查看远程分支的状态

     git remote show [remotebranch-name]

     这个命令输出的信息还是比较多的,建议大家多试验,多观察


   5.远程仓库的删除和重命令

     重命名:git remote rename 

     删除:git remote rm

     比如,把远程分支pig改成dog,可以使用git remote rename pig dog

           删除dog分支,git remote rm dog

     注意:重命名后,对应分支的名称也发生了变化,pig/master ------> dog/masger

今天就到这,谢谢

你可能感兴趣的:(git)