改变到要操作仓库的目录
创建文件夹(mkdir 文件夹名)

git init
初始化一个git仓库

git add .
git add --all
两个命令一样作用,添加目录里面所有文件到本地工作区

git add readme.txt (readme2.txt)
添加多个文件

根目录下创建.gitignore文件,里面放需要忽略的文件夹(或文件)名

git commit -m '提交时候说明'
提交文件

git status
查看本地工作区域的仓库状态

git status -s
输出本地工作区域仓库的简要变更信息

git diff
目录下的文件和git仓库中文件做对比,会列出对比信息

git log (--pretty=oneline格式简略,命令没有括号)
查看所有修改的日志,格式详细

指定日期

git log --after="2018-08-08"

日期段

git log --after="2018-08-08" --before="2018-09-09"

指定数量

git log -10 查看最近十条记录

git reset --hard HEAD^
回退到上一版本(^上一个 ~100上一百个)

cat 文件名字
查看文件内容

git reset --hard 版本号id前七位
在没有关闭窗口前,可以使用此命令回到未来

git reflog
查看所有操作会显示出id,可进行版本追溯

git checkout -- readme.txt
撤销对readme.txt文件的修改,回到最近一次的git commit或git add时的状态

git rm test.txt
删除文件,需要执行下commit命令

git remote add origin(新的库名) git@github.com:sheng4526160(自己的账号)/test.git(库名)
本地和远程关联账号,并创建新库,使其本地和远程关联。

git push -u origin(仓库名) master
将本地内容推送到远程服务器,-u以流的方式推送到远端。速度快一些。

git push origin master(分支名)
origin是远程库,推送到哪个库的哪个分支。再次提交时,提交到上面分支,不用加-u。根据需求推送

git clone git@github.com:XXXX(github显示名)/gitskills.git(仓库名)
将远程仓库客隆到本地(git方式最快,https方式较慢)

git checkout -b 分支名
创建并切换分支
等同于以下两句
git branch dev
git checkout dev

安装git(解压文件)
配置环境变量
GIT_HOME:git的解压目录
path:%GIT_HOME%\bin;

git branch
查看分支
当前分支会有一个*号

git checkout dev(分支名)
切换到某个分支

git merge dev(分支名)
将某个分支合并到当前分支

git branch -d dev(分支名)
删除某个分支

git log --graph --pretty=oneline --abbrev-commit
查看分支的合并情况
graph图表形式
--pretty=oneline简化显示(id号很长)
--abbrev缩写形式(id号变短)

git merge --no-ff -m 'merge with no-ff' dev(分支名)
--no-ff设置不用fast forward模式合并代码,可以查看以前的合并记录,fast forward模式合并后无法查看以前的记录。
因为合并后直接提交,所以加了-m'merge with no-ff'提交信息

git stash
将手头工作暂存在git某处管理。

git stash list
查看暂存的文件列表

git stash apply stash@{0}
恢复到暂存的指定版本文件,需要用下面命令在删除一下暂存的文件

git stash drop
删除暂存文件

git stash pop
恢复到暂存的指定版本文件,并删除原先暂存文件。

git branch -D feature-vulcan(分支名)
强制删除某个未合并的分支。

git remote
查看远程库的信息(缩减版)

git remote -v
查看远程库的详细信息

git branch --set-upstream dev origin/dev
建立本地dev和远程库里面dev分支的联系。为了从远程库拉取数据下来

git pull origin(远端库名) master(远端分支名)
从远程库的分支上拉取数据下来

git tag v1.0
添加标签,v1.0是标签名字(用来替代长串的id名)

git tag
查看标签列表

git tag v0.9 6224937
找到id为6224937的提交版本添加上tag标签。(在出现忘记打标签的情况下使用)

git show v1.0
查看标签为v1.0的版本的详细信息

git tag -a tagname -m 'lala'
指定标签信息和提交信息

git tag -s tagname -m 'blabla'
用pgp签名标签,用来防伪。

git tag -d v0.1
删除标签

git push origin v0.1
将标签为0.1的本地分支推送到远程库origin里

git push origin --tags
将所有标签推送到远程库

git push origin :refs/tags/v0.9
删除远程库的标签,用上面格式。步骤是先删除本地标签在去删除远程库里面的。

untracked(未被跟踪的) 是因为文件未被添加,新生成的文件

在某个开源项目下点击fork就可以将项目克隆到自己github上,然后在克隆自己仓库中克隆就可以在本地修改推送了!

忽略特殊文件,创建.gitignore文件,要忽略的内容放到这里面。

更改别名?
git config --global alias.st status!查看状态直接git st就可以
git config --global alias.co checkout!更改分支git co
git config --global alias.ci commit!提交信息
git config --global alias.br branch!更改分支

1.理解暂存区和工作区?
工作区就是本地文件夹
暂存区放在git文件夹里,每次add后会放到这里,然后commit才会统一提交到git上

2.unstage撤销掉
放在暂存区的文件,可以用git reset HEAD撤销修改,回到工作区。

3.工作区删除是
git checkout -- readme.txt
暂存区删除是回退
git reset HEAD readme.txt

4.本地仓库需要关联私钥
搜索公钥和私钥的位置
ls -al ~/.ssh
结果出来_rsa是私钥_rsa.pub是公钥
eval $(ssh-agent -s)
出来agent的id为xxxx
ssh-add ~/.ssh/xxx_rsa
关联私钥xxx可能是任何名字

5.添加公钥到github
在setting页,选择SSH and GPG keys,选择new SSH key添加,需要在本地用户目录下找到.ssh文件夹下的_rsa.pub里面的内容(即公钥)

git-中的命令与理解的更多相关文章

  1. git中常用命令的总结

    一.git stash  1.git  stash 保存当前工作进度,会把暂存区和工作区的改动保存起来.执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动. ...

  2. git中使用命令将远程仓库拉取项目在本地文件夹

    在有些时候,我们往往从github或者gitlab或者coding上面直接下载项目下来运行,但是这种情况往往没有使用git远程拉取来的安全(或者叫装逼), 所以这里我以gitLab为例子,说一下如何将 ...

  3. 【Git版本控制】git中reset命令的详解

    git reset 命令详解(一) git reset 命令详解(二) reset命令的语法:git reset [选项]  [版本号]  [要回退的目标] 选项:--soft仅将head指针指向历史 ...

  4. git中常用命令小结

    提交过程 查看文件改动以及新增的文件 git status 添加新增文件 git add your_file_path // 添加全部文件 git add * // 添加某类型文件 提交文件 git ...

  5. git中常用命令

    1.全局安装git Git-2.11.1-64-bit() //配置gitgit config --global user.name "您的git账号名"git config -- ...

  6. Git 中文件的状态和流转区

    Git的文件主要处于三种状态,分别是 staged, modified, committed. Git文件流转有三个区域,分别是 工作区域. 索引区域. 本地数据区域. 要修改对一个文件进行操作,首先 ...

  7. 理解git经常使用命令原理

    git不同于类似SVN这样的版本号管理系统,尽管熟悉经常使用的操作就能够满足大部分需求,但为了在遇到麻烦时不至于靠蛮力去尝试,了解git的原理还是非常有必要. 文件 通过git管理的文件版本号信息所有 ...

  8. 图解git中的最常用命令

    图解git中的最常用命令 Git命令参考手册(文本版) git init                                                  # 初始化本地git仓库(创 ...

  9. Git 中的一些其他常用命令

    1.查看提交的历史版本(git log) 我们可以使用 git log 命令来查看提交的历史版本. 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.每个版本都有 ...

  10. 关于Git中的一些常用的命令

    深入了解git的checkout命令 检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令. 因为这条命令会重写工作区.检出命令的用法如下: 用法一: git che ...

随机推荐

  1. 安装Termux的手机上运行Python

    1. Termux 终端 Android是一个单用户图形化系统,功能主要以应用的形式呈现给用户,因此在系统上我们无法直接获取终端,更是无法直接调用系统自带的丰富指令.使用ADB是一个曲线救国的方法,打 ...

  2. tomcat增加运行内存

    内容为: set JAVA_OPTS=%JAVA_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=212M -XX:MaxPermSize=512m 在m ...

  3. 【中间件】Struts2系列漏洞POC小结

    #Struts2-045 ''' CVE-2017-5638 影响范围:Struts 2.3.5 – Struts 2.3.31,Struts 2.5 – Struts 2.5.10 触发条件:基于J ...

  4. vue中npm run dev 不能自动打开浏览器运行项目

    最近用vue2.0 + webpack搭建了环境创建新的项目.出现一个很蹩脚的问题: 在终端输入 npm run dev 的时候,不能自动打开浏览器运行项目. 这段话的意思是:你的应用程序运行地址是: ...

  5. pyinstaller打包工具简单使用

    python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件将可跨平台使用,那么怎么打包了,python提供了专门的模块:pyinstaller,下面就介绍下怎么用 1.安装 ...

  6. 错误及异常处理-[PathTooLongException]指定的路径或文件名太长

    错误信息 System.IO.PathTooLongException:"指定的路径或文件名太长,或者两者都太长.完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符. ...

  7. this和target目标对象的区别

    在事件函数中 event.target和this是一样的效果吗? this是调用方法的对象, evemt.target事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素.文档或窗口. ...

  8. 正则表达式控制Input输入内容 ,js正则验证方法大全

    https://blog.csdn.net/xushichang/article/details/4041507 //输入姓名的正则校验 e.currentTarget.value = e.curre ...

  9. Go语言包管理工具Glide

      Go语言包管理工具用于管理Go项目的库和库的依赖引用. 包管理工具普遍会在Go项目根目录生成Vendor文件夹并自动下载该Go项目需要的库. Go语言有很多开源的包管理工具,这里主要介绍Glide ...

  10. 给你的移动网站加点料:推荐下载App,如果本地安装则直接打开本地App(Android/IOS)

    纵观现在每家移动网站,打开首页的时候,都有各种各样的形式来提示你下载自身的移动App(Android/IOS),这是做移动客户端产品的一个很好地引流的手段.当然各家引流下载的交互和视觉各不相同,有的是 ...