设置git的user name和email:
git config --global user.name "linden" //linden是您的username
git config --global user.email "lindentao@qq.com"
生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:
ssh-keygen -t rsa -C "lindentao@qq.com"
//按3个回车,密码为空。
3.在你的~/.ssh中生成了两个文件:id_rsa(密钥)和id_rsa.pub(公钥),将公钥文件 id_rsa.pub的内容添加至github中Add SSH key即可。
git的使用
1.从远程仓库克隆源码到本地:
git clone git@github.com:your_git_username/srcname.git
例如:git clone git@github.com:450255457/JiaTuanWeb.git
2.推送本地更新到远程:
git init #初始化一个本地库
git add filename #添加文件到本地仓库
git add dir1 ( 添加dir1这个目录,目录下的所有文件都被加入 )
git add f1 f2 ( 添加f1,f2文件)
git add . ( 添加当前目录下的所有文件和子目录 )
git commit -m “first commit” #提交到本地库并备注,此时变更仍在本地。
git status #查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中等等。 建议每次commit前都要通过该命令确认库状态
git push origin master
3.更新远程更新到本地:
git pull origin master
4.git删除本地所有未提交的更改,包括修改的、新增的、删除的,还有一些编译生成的临时文件,回到上一版本的干净状态
git clean -df
git status
5.恢复单个文件的历史版本:
首先查看该文件的历史版本信息:git log filename
记录下需要恢复的commit版本号:如050354b54a0f5323035fea9aa1b01c26d209db0d
恢复该文件:git reset 050354b54a0f5323035fea9aa1b01c26d209db0d filename
提交git:git commit -m “revert old file”
常见问题的解决
1.error: Your local changes to the following files would be overwritten by merge:
…
Please, commit your changes or stash them before you can merge.
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset –hard
git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用
git checkout HEAD file/to/restore