zoukankan      html  css  js  c++  java
  • Git

    :创建一个git可管理的仓库(repository)

    • 打开GitBash
    • 1、进入位置(例如进入D)
    • $ cd D://
    • $ ls 文件列表
    • 2、在D盘创建本地文件夹,自定义名为:LearnGit
    • $ mkdir LearnGit
    • 3、进入到版本库位置
    • $ cd LearnGit
    • 4、显示当前目录
    • $ pwd
    • 5、通过git init 命令把这个目录变成一个git可管理的仓库(repository)

    :在仓库路径下创建文件,然后添加到仓库(例如:创建两个txt文件,分别为one.txt;two.txt

        添加文件到Git仓库,分两步:

    • 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件(可使用git add .

        如果是文件夹可使用git add file/*

    • 第二步,使用命令git commit,完成。(commit是指所有的add的文件)git commit -m "XXX"

        修改了one.txt;two.txt的内容

    • 1、使用notepad修改文本内容
    • 2、使用git status查看修改的内容
    • 3、使用git diff查看具体修改(查看完毕后,在使用1中方法将修改的文件addHeadcommitrepository)

     

    • 4git log命令显示从最近到最远的提交日志(出现END可按q退出log
    • 5、如果嫌输出信息太多,可以试试加上git log --pretty=oneline参数

    三、回退到上一个版本

    • 1、首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的e55848..47c,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
    • 使用git reset --hard HEAD^ 回退到上一个版本
    •  

     

    • 2、查看是否是上一个版本的内容,可使用cat file查看file的内容
    •  
    • 3、使用git log查看,已看不到删除的版本
    •  

     

    • 4、如果命令窗还未关闭,可使用git reset --hard 版本号,回到未来的版本,即刚删除的版本

     

    • 5、关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?
    • 在Git中,总是有后悔药可以吃的
    • 使用git reflog

    四:HEAD相关命令

    • $ git diff HEAD -- file.txt命令可以查看工作区和版本库里面最新版本的区别
    • $ git checkout -- file.txt 用版本库里的版本替换工作区的版本,(可撤销本地修改,如没有--,则变为“创建一个新分支”)
    • $ git reset HEAD file.txt 撤销缓存区的内容
    • $ git rm file1.txt 删除一个文件(本地删除后,在git中同样需要remove此文件,且commit此次修改)

    五:远程库

    • $git remote add origin git@server-name:path/repo-name.git 关联一个远程库
    • $git push -u origin master 关联后,第一次推送master分支的所有内容
    • $git push origin master 除了第一次推送,都可使用本句推送到服务器
    • $git clone git@github.com:michaelliao/gitskills.git 克隆远程库(远程库中新建了一个gitskills.git的仓库)
    • $git remote 查看远程库
    • $git remote -v 查看远程库的详细信息
    • $ git pull 抓取远程库的信息

    六:分支

    • $ git branch 查看本地分支,当前分支前面会标一个*
    • $ git branch -a 查看所有分支,包括远程库的分支
    • $ git checkout -b feature/weixinshare 切换到微信分支
    • $ git checkout -b feature/weixinshare origin/feature/weixinshare  创建本地分支,并与远程分支建立链接
    • $ git branch name 创建分支
    • $ git checkout name 切换分支
    • $ git checkout -b develop 创建 + 切换分支
    • $ git checkout master 切换到主分支
    • $ git checkout develop 切换到develop分支
    • $ git merge develop 合并develop分支到当前分支
    • $ git merge --no-ff -m"merge with no-ff" dev  合并分支

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    • $ git branch -d develop 删除分支develop
    • $ git branch -D develop 强行删除分支develo(如果要丢弃一个没有被合并过的分支)
    • $ git log --graph --pretty=oneline --abbrev-commit 查看分支的合并情况
    • $ git log --graph 查看分支历史

    七:Bug分支

    • dev分支上工作,并在此分支上做了修改,此时,测试发现bug,需要新建一个bug分支。
    • 现将目前做的修改git stash“贮藏”起来,然后去修复bug,修复后,再git stash pop,回到工作现场。
    •  
    • 将目前工作git add,然后:
    • $ git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
    • Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
    • 一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
    • 另一种方式是用git stash pop,恢复的同时把stash内容也删了。
    • $ git stash list 查看贮藏列表
    •  
    • 当列表中有多个贮藏时,可使用$ git stash apply --stash@{0}

    八:标签

    • $ git tag v1.0 为所在的分支打标签,标签为v1.0
    • $ git tag 查看标签(标签显示不是按时间顺序,而是按字母排序)
    • $ git show v0.9 可查看标签的详细内容

    如周一应该打标签,但是周五才想起来,可以查看提交历史,然后给需要打标签的提交打上标签

    • $ git log --pretty=oneline --abbrev-commit 查看提交历史
    •  

    如果应该打在 23ad905上,可使用git tag v1 id

    创建带有说明的标签,用-a指定标签名,-m指定说明文字

    • $ git tag -a v0.1 -m "version 0.1 released" 23ad905 
    • $ git push origin v1.0 推送标签到远程库
    • $ git push origin --tags 推送所有标签到远程
    • $ git tag -d v0.1 删除标签
    • $ git push origin :refs/tags/v0.1 删除远程标签(先要删除本地标签)
  • 相关阅读:
    3.18日
    线程的面试题
    关于instanceof测试遇到的问题
    spring
    自动登录代码
    Filter
    多态
    基于HTML,css,jQuery,JavaScript,MySQL搭建博客系统
    基于bootstrap+MySQL搭建动态网站
    基于bootstrap_网站汇总页面
  • 原文地址:https://www.cnblogs.com/Cherry-B/p/4581607.html
Copyright © 2011-2022 走看看