linux git

linux 版本:

  通过 uname -a 命令查到的linux版本信息:通过Linux mi-OptiPlex-7040 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux,Ubuntu 14.04.1 64位操作系统

安装Git:

  安装命令: sudo apt-get install git

  (windows下的git下载地址:https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit

  Git全局配置;

    git安装好后,需要配置自己的用户名和邮箱,配置命令如下:git config --global user.name myName; git config --global user.email  myName@163.com

Git基本使用:

  git init   (当前目录初始化为一个git仓库)

  

  git pull origin master  可将远程分支下载到本地,并自动合并

 

  git checkout -b feature_shixi origin/feature_shixi  (将远程分支下载到本地并进行切换) 原来git branch工具显示的只是本地的分支,不会显示origin/master

 git push --set-upstream origin 分支名 (将本地分支推送到远程不存在的分支)

 

  git add ...file...  (把文件添加到本地仓库)

    revert 某一个文件:  git add -i (查看 git add 命令添加的文件并做相应的修改)、revert、输入添加信息的对应id(1 2 3 之类的)、回车(退出revert子命令,退回到git add -i 命令下) :

          备注:该操作只是将添加到缓存区的内容返回到工作区,并没有将修改删除。

  git commit -m '修改说明' (把文件提交到本地仓库)

  git status 查看修改或者提交信息

  git diff readme.txt 查看现在的readme.txt文件与上一侧 git add 命令之后的readme.txt文件的区别

  gitk 窗口查看当前的提交分支

 

  回滚: git reset --hard HEAD^ / HEAD^^ / HEAD^^^/ HEAD~100 ,分别表示退回到一个提交版本、退回两个提交版本、退回三个提交版本、退回100个提交版本。其中,HEAD表示当前版本。

      git reset --hard commit_id 重置到任意一个提交版本,包括子版本(未来版本)

 

     git reset --soft commit_id 重置到以前的某一个版本,但commit的信息退回到缓存区(staging 或 inex 区)

       

      git log 查看 commit 历史记录

      git reflog 查看历史命令,记录你的每一次操作,从里面可以找到版本号

  撤销修改:1、只有工作区的修改,暂存区没有add信息:通过 git checkout -- readme.txt 命令即可将工作区的修改撤销;

      2、git add后在工作区作了修改:git checkout -- readme.txt会将工作区的修改撤销,但不会撤销add的信息;

      3、在2的情况下,如果想要撤销add的信息,有两种方式:通过 git add -i  |  revert  | 数字 | quit 可将add的信息退回到工作区,然后通过 git checkout --  readme.txt 将工作区的修改撤销。

                                通过 git reset HEAD file_name 可将add到暂存区的内容 重新放回到工作区,然后通过 git checkout -- readme.txt 将工作区的修改撤销

                                

 

 

 

 

 

 

 

 

  git log --oneline
  git rebase dev_feature
  git rebase --abort
  git cherry-pick commit_id

 

  删除文件:

    通过 rm file_name 来删除文件,随后 git rm file_name   + git commit -m 'delete a file' 提交删除

    通过 rm file_name 删除文件后,发现删除错了,可通过 git checkout -- file_name 来撤销修改(删除)

   推送: 将本地的项目信息push到刚在github上建立的空仓库: git push -u origin master  (远程库origin的master分支)

 

  创建新分支并切换:  1、 git branch dev   ;   git checkout dev;

            2、git checkout -b dev  ; 该命令完成上述两条命令的工作

  查看当前分支: git branch 命令查看所有分支,当前分支前面有个 × ,有的linux系统的当前分支会被标注位绿色

  合并分支: 切换到主分支 git checkout master    ,进行合并  git merge dev  (将dev分支合并到master分支上)   提示:linux窗口会提示 ”Fast-forward“ 该模式指快进模式:将master指向了dev的最新提交,合并速度很快。

        留下合并标记:git merge --no-ff -m 'merge with signal' dev

  删除分支: git branch -d  feature_name

        (丢弃一个没有被合并过的分支时,通过 git branch -D feture_name

 

  创建与远程版本库某分支相关联的本地分支: git checkout -b dev origin/dev

  将本地分支与远程分支关联:git branch --set-upstream feature_name origin/feature_name

 

  工作暂存: git stash :将当前工作区的修改stash保存起来;随后进行其他修改;其他修改完后,通过git checkout feature_name 切换回原分支。通过 git stash list 可以查看stash内容 ;通过 git stash apply + git stash drop命令 或者  git stash pop 都可将stash内容还原,并删除stash内容。

  

   打标签: git tag v1.0 (默认在当前分支的最新commit上打标签)  /   git tag v0.9 3f3f28ebdb (commit号)  在某个commit上打标签   /  git tag -a v0.8 -m '0.8版本发布' commit_number  创建标签时,写说明文字。

       git tag 查看所有标签信息   / git show tag_name  查看对应tag的commit信息。

       git tag -d v1.0 删除v1.0标签

         git push origin v1.0 将本地标签推送到远程库

         git push origin --tags 一次性将本地素有标签推送到远程。

         git tag -d v0.9 + git push origin :refs/tags/v0.9   将远程标签v0.9删除

      

  在dev分支上,通过 git rebase  temp 命令可将dev分支rebase到 dev 分支上。

 

 stash 命令

  git stash      //将当前工作区的修改 stash 起来

  git stash list        //查看所有的stash内容

  git stash apply stash@{0}     //将某个stash现场还原到工作区

  git stash drop stash@{1}       //将某个stash删除

  git stash pop      //将当前最后的stash还原到工作区

 

参考网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d599b3aed534aaab22a0db6c4e07fd0000

posted @ 2017-04-18 09:56  窗外是绿色的  阅读(223)  评论(0编辑  收藏  举报