重置本机git设置,在命令行输入命令:
git config --global credential.helper store
☞ 这一步会在用户目录下的.gitconfig文件最后添加:
[credential]
helper = store
现在push你的代码 (git push), 这时会让你输入用户名密码, 这一步输入的用户名密码会被记住, 下次再push代码时就不用输入用户名密码啦!
☞这一步会在用户目录下生成文件.git-credential记录用户名密码的信息.
☞ git config --global 命令实际上在操作用户目录下的.gitconfig文件, 我们cat一下此文件(cat .gitconfig), 其内容如下:
[user]
name = alice
email = alice@aol.com
[push]
default = simple
git config --global user.email "alice@aol.com"上面的email
git config --global push.default matching 上面的push段中的default字段
git config --global credential.helper store 上面最后一行的值
1、标签介绍
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。
所以,标签也是版本库的一个快照。
Git 的标签虽然是版本库的快照,但其实它就是指向某个 commit 的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
Git有commit,为什么还要引入tag?"请把上周一的那个版本打包发布,commit号是6a5819e…""一串乱七八糟的数字不好找!"如果换一个办法:"请把上周一的那个版本打包发布,版本号是v1.2""好的,按照tag v1.2查找commit就行!"所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
Git有commit,为什么还要引入tag?
"请把上周一的那个版本打包发布,commit号是6a5819e…"
"一串乱七八糟的数字不好找!"
如果换一个办法:
"请把上周一的那个版本打包发布,版本号是v1.2"
"好的,按照tag v1.2查找commit就行!"
所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。
本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。
轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。
而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
一般我们都建议使用含附注型的标签,以便保留相关信息;
当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
[root@Git git]# git tag v1.0
[root@Git git]# git tag v1.0 [root@Git git]# git tag v1.1 [root@Git git]# git tag v1.0 v1.1
[root@Git git]# git tag -d v1.1 Deleted tag ‘v1.1’ (was 91388f0) [root@Git git]# git tag v1.0
[root@Git git]# git show v1.0 commit 91388f0883903ac9014e006611944f6688170ef4 Author: "syaving" <"819044347@qq.com"> Date: Fri Dec 16 02:32:05 2016 +0800 commit dir diff –git a/readme b/readme index 7a3d711..bfecb47 100644 — a/readme +++ b/readme @@ -1,2 +1,3 @@ text hello git +use commit [root@Git git]# git log –oneline 91388f0 commit dir e435fe8 add readme 2525062 add readme
图解 Git
上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。
git add files
git commit
git reset -- files
git reset
git checkout -- files
更多图解参考:https://www.facesho.com/w3cnote/git-graphical.html
git 基本操作注意点总结:
git clone <source repository> <destination repository>
复制本地仓库的命令方式。
<source repository>:想克隆的本地仓库路径
<destination repository>:想克隆去另一个地方的路径。例如 git clone d:/git e:/git11 是将 d:/git 的仓库(即包含隐藏文件 .git 的目录)克隆到 e:/git11 目录下。
注意:
1、<destination repository> 目录必须没有在文件系统上创建,或创建了但里面为空,不然会克隆不成功。
2、与从远程拉取仓库不同,路径的最后不用写 .git 来表明这是一个仓库。
git status –s
获得简短的状态输出。
git diff
git commit –am ""
直接提交全部修改,相当于 add 和 commit 一起执行了。
注意:全部文件为 tracked 才行,你新建了文件为 untracked 时,该命令不会执行。
git checkout
与 git reset 不同,reset 是替换整个目录树,多余的文件将被删除。而 checkout 只是替换指定的文件,对多余的文件保留不做任何处理。
git rm
把文件从工作区和暂存区中删除。使用 —cached 只从暂存区中删除。使用 –rf <directory> 可删除指定目录下的所有文件和子目录。
git mv <source> <destination>
在工作区和暂存区中进行移动或重命名。若 <destination> 不为一个目录名,则执行重命名。如果为一个目录名,则执行移动。
git commit、git push、git pull、 git fetch、git merge 的含义与区别
$ git merge -b // 指将 b 分支合并到当前分支
git pull 相当于 git fetch + git merge。
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
2704fatal: unable to access \'https://github.com/ 重置本机git设置
重置本机git设置,在命令行输入命令:
git config --global credential.helper store
☞ 这一步会在用户目录下的.gitconfig文件最后添加:
[credential]
helper = store
现在push你的代码 (git push), 这时会让你输入用户名密码, 这一步输入的用户名密码会被记住, 下次再push代码时就不用输入用户名密码啦!
☞这一步会在用户目录下生成文件.git-credential记录用户名密码的信息.
☞ git config --global 命令实际上在操作用户目录下的.gitconfig文件, 我们cat一下此文件(cat .gitconfig), 其内容如下:
[user]
name = alice
email = alice@aol.com
[push]
default = simple
[credential]
helper = store
git config --global user.email "alice@aol.com"上面的email
git config --global push.default matching 上面的push段中的default字段
git config --global credential.helper store 上面最后一行的值
2327Git 标签
1、标签介绍
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。
所以,标签也是版本库的一个快照。
Git 的标签虽然是版本库的快照,但其实它就是指向某个 commit 的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。
本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。
新建标签
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。
轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。
而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
一般我们都建议使用含附注型的标签,以便保留相关信息;
当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
2 创建标签
3 查看已有标签
4 删除标签
5 查看此版本所修改的内容
2326Git 基本操作
图解 Git
上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。
git add files
把当前文件放入暂存区域。git commit
给暂存区域生成快照并提交。git reset -- files
用来撤销最后一次git add files
,你也可以用git reset
撤销所有暂存区域文件。git checkout -- files
把文件从暂存区域复制到工作目录,用来丢弃本地修改。2325Git 基本操作
git 基本操作注意点总结:
复制本地仓库的命令方式。
<source repository>:想克隆的本地仓库路径
<destination repository>:想克隆去另一个地方的路径。例如 git clone d:/git e:/git11 是将 d:/git 的仓库(即包含隐藏文件 .git 的目录)克隆到 e:/git11 目录下。
注意:
1、<destination repository> 目录必须没有在文件系统上创建,或创建了但里面为空,不然会克隆不成功。
2、与从远程拉取仓库不同,路径的最后不用写 .git 来表明这是一个仓库。
获得简短的状态输出。
直接提交全部修改,相当于 add 和 commit 一起执行了。
注意:全部文件为 tracked 才行,你新建了文件为 untracked 时,该命令不会执行。
与 git reset 不同,reset 是替换整个目录树,多余的文件将被删除。而 checkout 只是替换指定的文件,对多余的文件保留不做任何处理。
把文件从工作区和暂存区中删除。使用 —cached 只从暂存区中删除。使用 –rf <directory> 可删除指定目录下的所有文件和子目录。
在工作区和暂存区中进行移动或重命名。若 <destination> 不为一个目录名,则执行重命名。如果为一个目录名,则执行移动。
2324Git 基本操作
git commit、git push、git pull、 git fetch、git merge 的含义与区别
git pull 相当于 git fetch + git merge。