改变到要操作仓库的目录
创建文件夹(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. tp5 重定向缺少index.php报错(No input file specified)

    转别人的,有用,Mark一下 public 下的.htaccess 修改为 <IfModule mod_rewrite.c>  Options +FollowSymlinks -Multi ...

  2. oracle nvl()函数

    oracle的nvl()函数作用是当第一个值不为null时,返回第一个值,否则返回第二个值. 当第一个值为一个运算表达式时,那么第二个的值被限定为只能是NUMBER类型或者能隐式转换为NUMBER类型 ...

  3. ZOJ - 3939 The Lucky Week(日期循环节+思维)

    Edward, the headmaster of the Marjar University, is very busy every day and always forgets the date. ...

  4. mvn修改版本号命令

    mvn -DnewVersion=1.0.0 -DgenerateBackupPoms=false versions:set

  5. Linux平台总线设备驱动

    1. 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线,其优势在于采用了总线的模型对设备(没有挂到真实总线的设备)与驱动进行了管理,这样提高了程序的可移植性. 2. 平台总 ...

  6. Devexpress中统一设置字体样式的方法

    #region 设置默认字体.日期格式.汉化dev DevExpress.Utils.AppearanceObject.DefaultFont = new System.Drawing.Font(&q ...

  7. python学习14-模块

    引入模块的方式: 1. import 模块 2. from xxx import 模块 一.collections 模块 1.Counter() counter是一个计数器,主要用来计数,计算一个字符 ...

  8. mysql出现 Unknown column 'bname' in 'where clause'和Unknown column 'bid' in 'field list'

    在用mysql数据库建表和修改数据库数据时,出现  Unknown column 'bname' in 'where clause'和Unknown column 'bid' in 'field li ...

  9. python爬虫专栏学习

    知乎的一个讲python的专栏,其中爬虫的几篇文章,偏入门解释,快速看了一遍. 入门 爬虫基本原理:用最简单的代码抓取最基础的网页,展现爬虫的最基本思想,让读者知道爬虫其实是一件非常简单的事情. 爬虫 ...

  10. redux-thunk, redux-logger 阮一峰 ( react中间件 )

    http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_two_async_operations.html Redux 入门教程(二):中 ...