git init //此时处于什么目录什么目录就会成为仓库,之后会在这个目录下生成一个.git文件夹,用于管理仓库
//当有多个仓库时,进到哪个目录就算哪个仓库的操作
仓库的删除:
1)rm -rf .git //删除.git文件
2)rm -rf xxx //之后再去删除本地的库文件夹即可
遇到的一个小错误
The directory G:\ is registered as a Git root, but no Git repositories were found there.
我在G盘根目录下新建了仓库,删除仓库后,由于pycharm的工程文件在G盘下所以报错
解决:找到version control(版本控制)设置,把目录G:/ 删掉
git add xxx //xxx文件一定要在在git仓库目录下, 不然会报错 (例如:在上一级目录下有个文件)
//当文件放到git仓库下后,此时它还没有被仓库暂存区包含,必须add一下才算放到仓库的暂存区中;
//即使只是修改过(modified状态),也要重新 git add 一下
//一般要git add README 文件做说明书
git commit //将当前暂存区变更进行提交,这样才算是正式进入了仓库
// -a可以让所有暂存区的改变都提交上去,而不仅仅是当前暂存区
//执行后会有一个vim文件让你编辑你自己都做了什么改变,相当于变更说明书
git clone [url] //克隆仓库,我克隆自己的仓库 git clone https://github.com/spotted-deer/python.git
//但是clone和init不太一样,clone会在当前目录的下一层创建仓库
找自己或别人的URL:
git status //查看仓库最近的改变,状态等
//具体的修改要用 git diff,想要查看两次提交过的(在暂存区的)差异 git diff --cached
这个文件的默认规范:
#
开头的行都会被 Git 忽略。/
)说明要忽略的是目录。!
)取反。其他:
*.[oa] #表示忽略以.o或.a结尾的文件
!lib.a #但 lib.a 除外
*~ #表示忽略以~结尾的文件
doc/**/*.txt # 忽略 doc/ 目录下所有扩展名为 txt 的文件
git rm //移除文件(既要文件从暂存区移除,又要删除文件)
git mv file_from file_to //移动文件,或者重命名文件
git log //查看提交历史
git commit --amend //撤销上一次的提交
git reset HEAD
git remote add [shortname] [url]
//添加远程仓库,指定一个简单的名字(方便使用) ,面对的是账户上的仓库,不是账户本身
//添加我的github的远程仓库: git remote add py https://github.com/spotted-deer/python.git
git remote -v //列出所有远程仓库
git fetch xxx //抓取远程有的本地没有的文件的信息,xxx是远程仓库名
git push [remote-name] [branch-name]
将本地仓库中的数据推送到远程仓库,若有其他人推送了一些更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。
//git push py master 将更新添加到远程主机的master分支,如果没有ssh关联,每一次它会让你输入登录账号和密码
git remote show [remote-name] //查看某个远程仓库信息
git pull <远程主机名> <远程分支名>:<本地分支名>
//抓取文件到本地,git pull = git fetch + git merge //origin是默认主机
//git pull py master:mybranch 将远程主机py的master分支拉取过来,与本地的mybranch分支合并。
//git pull py master 表示将远程主机py的master分支拉取过来和本地的当前分支进行合并。
更详细信息请看:
https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E5%8F%96%E5%BE%97%E9%A1%B9%E7%9B%AE%E7%9A%84-Git-%E4%BB%93%E5%BA%93
Git支持多种协议,默认的git://使用ssh协议,也可以使用https等协议,使用https协议缺点:速度慢,每次推送都必须输入口令
SSH使用RSA和SHA256加密,本地ssh产生一对公钥和私钥,公钥给github,私钥本地保存
过程:
1)在本地找到C:\Users\用户名 文件夹下的.ssh文件夹,若不存在则
在哪都行,点击鼠标右键:Git Bash Here
输入ssh-keygen -t rsa -C "你的邮箱名" ,执行,之后存放公钥私钥的目录(跟它前面提示的保持一致就行),输入密码(这里我直接按的回车,表示没有密码) 如图:
打开.ssh文件夹,id_rsa文件是私钥,id_rsa.pub是公钥(给github)
2)登录github找到Settings下面的SSH and GPG keys
3)点击new SSH key后: