git init
把这个目录变成Git可以管理的仓库
git add file/git add folder
git add file : 把文件添加到仓库
git add folder : 把文件夹以及文件中的内容添加到仓库
git commit
把文件提交到仓库,git add只是添加而已。
git commit -m “xxxx” : -m后面是本次提交的说明
git log
git log可以查看提交历史,以便确定要回退到哪个版本。。
git reset --hard HEAD^
在Git中用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD ^ ^ ,
当然往上100个版本写100个^ 比较容易数不过来,所以写成HEAD~100
git status
查看一下工作区的状态:文件有没有修改,有没有文件没有被add、commit啥的。
git checkout – file
1、修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态。
2、已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。
git rm file
删除文件
本地仓库关联远程仓库or创建远程仓库后生成本地仓库
git push -u origun master
git push -u origin master推送代码到关联的远程仓库。
推送代码到远程仓库,出现Permission denied(publickey)没有公钥权限、Could not read from remote repository不能读取远程仓库。明显提示没有公钥,所以得添加公钥。
使用ssh-keygen -t rsa -C "youremail@qq.com" 生成github秘钥对,
id_rsa是私钥不能泄露,id_rsa.pub是公钥可以告诉别人。
youremail@qq.com是注册的远程仓库账号的邮箱。
vim id_rsa.pub查看公钥,全选复制,之后到github Settins添加。
内容更新了,但是第二次push的时候又被拒绝了,网上找到了解决办法。
1、先拉再推git pull --rebase
这里加了 --rebase 参数是表示「內容抓下来之后请使用 Rebase 方式合并」,当然你想用一般的合并方式也沒问题。合并如果沒法生冲突,接着应该就可以顺利往上推了。
2、无视规则git push -f
凡事总有先来后到,在上面的例子中,前人先推上去的內容,后推的人就是应该拉一份下來更新,不然照规定是推不上去的。不过规则也是有例外,只要加上了 --force 或是 -f 参数,它就会强制硬推上去