git的学习可以参照廖雪峰老师的教程https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
非常详细,我这里记录了初步学习的笔记。
第一步安装git,
sudo opt-get install git
安装后配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
第二步,通过git init命令把这个目录变成Git可以管理的仓库:
git init
第三步,用命令git add告诉Git,把文件添加到仓库:
git add readme.txt
git commit -m "write a readme file"
第四部,建立远程链接:
注册GitHub账号,登录git网站,
在本地:
ssh-keygen -t rsa -C "youremail@example.com"
设置ssh-key
并创建仓库,网上完成。
然后,把本地仓库的内容推送到GitHub仓库。
git remote add origin git@github.com:michaelliao/learngit.git
下一步,就可以把本地库的所有内容推送到远程库上:
git push -u origin master
如果有错误,
error: failed to push some refs to 'git@github.com:levinyi/python_packages.git'
error: Pulling is not possible because you have unmerged files.
需要使用下面命令将远程仓库的pull到本地仓库,并合并,然后再继续add,commit,push origin。
git pull --rebase origin master
完成。
基础命令就这些,后续再补充
常用的命令还有:
想删掉远程github上的文件:
1,预览将要删除的文件
git rm -r -n --cached 文件/文件夹名称
加上 -n 这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
2,确定无误后删除文件
git rm -r --cached 文件/文件夹名称
3,提交到本地并推送到远程服务器
git commit -m "提交说明"
git push origin master
想查看本地是哪一个远程仓库:
git remote -v
origin git@github.com:levinyi/R_stuff.git (fetch)
origin git@github.com:levinyi/R_stuff.git (push)
git remote
origin
或者
git config --list
常见的错误
- git push 错误:
当我们在github版本库中发现一个问题后,你在github网页上对它进行了在线的修改;或者你直接在github上的某个库中添加readme文件或者其他什么文件,但是没有对本地库进行同步。这个时候当你再次有commit想要从本地库提交到远程的github库中时就会出现push失败的问题。
解决办法:
git pull --rebase origin master
这条指令的意思是把远程库中的更新合并到本地库中,–rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。
git pull –-rebase origin master意为先取消commit记录,并且把它们临时保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。
接下来就可以把本地库push到远程库当中了。
git add xxx(your file)
git commit -m "xxx"
git push origin master
- git add 错误
错误可以参考
http://gitbook.liuhui998.com/index.html
- git pull 错误
解决方法:
git stash
git pull --rebase origin master
git add xxx
git commit -m "xxx"
git push origin master
注意事项:
如果在网页版修改了东西之后,要在本地版先git pull