git常用
常用配置
安装完成后,还需要配置git,在命令行输入:
1 | |
Git 使用一系列配置文件来保存你自定义的行为。 它首先会查找系统级的 /etc/gitconfig 文件,该文件含有系统里每位用户及他们所拥有的仓库的配置值。 如果你传递 --system 选项给 git config,它就会读写该文件。
接下来 Git 会查找每个用户的 ~/.gitconfig 文件(或者 ~/.config/git/config 文件)。 你可以传递 --global 选项让 Git 读写该文件。
最后 Git 会查找你正在操作的仓库所对应的 Git 目录下的配置文件(.git/config)。 这个文件中的值只对该仓库有效,它对应于向 git config 传递 --local 选项。
以上三个层次中每层的配置(系统、全局、本地)都会覆盖掉上一层次的配置,所以 .git/config 中的值会覆盖掉 /etc/gitconfig 中所对应的值。
注
注意
git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。Git 的配置文件是纯文本的,所以你可以直接手动编辑这些配置文件,输入合乎语法的值。 但是运行
git config命令会更简单些。
配置ssh
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
1 | |
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
使用下面命令
1 | |
测试是否配置成功
1 | |
出现这样一段话,即证明配置成功。
克隆
1 | |
分支
1 | |
提交代码
1 | |
删除历史版本,保留当前状态
有时候,我们误提交了某些隐私文件,使用
git rm xxx删除后,其实版本库中是有历史记录的,想要删除这些记录,但是又不想删除仓库,重建来提交。那么就想办法删除历史记录了。
我们当然不能直接删除.git文件夹,这将导致git存储库出现不可预知的问题。
要删除所有提交历史记录,但将代码保持在当前状态,可以按照以下方式安全地执行此操作:
创建并切换到
latest_branch分支1
2
3git checkout --orphan latest_branch 创建orphan分支,名为latest_branch
注:
如果不提交东西,这个分支实际上没有创建添加所有文件
1
git add -A提交更改
1
git commit -am "删除历史版本记录,初始化仓库"删除分支
1
git branch -D master将当前分支重命名
1
git branch -m master强制更新存储库
1
git push -f origin master
解决方案来自:如何删除GitHub中的所有提交历史记录?
git checkout –orphan的核心用途是在非新存储库上以类似git init的状态创建分支。
没有这种能力,您所有的git分支都将有一个共同的祖先,即您的初始提交。这是很常见的情况,但绝不是唯一的情况。例如,git允许您将多个独立项目作为单个存储库中的不同分支进行跟踪。
这就是为什么您的文件被报告为”要提交的更改”的原因:在git init状态下,尚未创建第一个提交,因此所有文件都是git新的。
用途:例如GitHub Pages,将存储库的网站存储在存储库中但位于单独的分支上。除了该网站的历史记录外,没有任何其他原因可以存储该分支机构。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!