Git小结

来源:互联网 发布:混沌与秩序2 高清数据 编辑:程序博客网 时间:2024/04/20 16:56

以下内容全部摘自廖雪峰GIT简单入门仅供个人参考
原地址https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
设置信息

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"

创建空目录

$ mkdir learngit$ cd learngit$ pwd/Users/michael/learngit

创建Git仓库

$ git initInitialized empty Git repository in /Users/michael/learngit/.git

这里写图片描述

添加文件到仓库

$ git add readme.txt

这里写图片描述
提交文件到仓库

$ git commit -m "wrote a readme file"[master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt

这里写图片描述

结果查看命令

$ git status #查看状态$ git diff readme.txt #查看修改

查看历史提交记录

$ git log

退回上个版本

$ git reset --hard Head^

查看历史命令

$ git reflog

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

$ git checkout -- readme.txt

Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:

$ git reset HEAD readme.txt

删除版本库文件

$ git rm test.txt

Git 链接 GitHub
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

如果一切顺利的话,可以在用户主目录里找到.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文件的内容

现在,我们根据GitHub的提示,在本地的yourgit仓库下运行命令:

$ git remote add origin git@github.com:michaelliao/yourgit.git

下一步,就可以把本地库的所有内容推送到远程库上:

$ git push -u origin master

从现在起,只要本地作了提交,就可以通过命令:

$ git push origin master

用命令git clone克隆一个本地库

$ git clone git@github.com:michaelliao/gitskills.git

后续有需求再记录吧

下面记录一下使用git过程中遇到的错误和解决方法吧

error: failed to push some refs to 'git@github.com:your/yourgit.git'

错误原因:没有将github中的READEME.txt文件同步到本地库
解决方法:

$ git pull --rebase origin master$ git push -u origin master

又遇到了若干个版本更新的问题差不多搞清楚本地git和上传github的步骤了,过程中尝试了一下将本地git回溯到过去版本然后push的时候会提示版本落后,可以通过push -f强制更新remote

原创粉丝点击