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 删除远程标签(先要删除本地标签)
  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/Cherry-B/p/4581607.html
Copyright © 2011-2022 走看看