git config --global user.name 'xyd'
git config --global user.email 861703490@qq.com
版本库又名仓库,可以理解为一个文件目录,这个目录里面的所有文件都可以被Git管理起来:
每个文件的修改/删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件还原;
cd newgit
git init //将newgit文件夹创建为版本库, 创建后会在该目录下创建一个.git文件夹, 默认为隐藏文件
ls // 查看newgit文件夹下的文件
git add a.txt // 将a.txt文件添加到newgit版本库中的暂存区
git commit -m 'a.txt提交到仓库' // 将a.txt正式提交到newgit仓库(本地仓库)
git status // 查看版本库下,是否还有文件未提交
git diff a.txt // 查看a.txt修改的内容
cat a.txt // 查看文件内容
// 修改文件后,将文件重新添加到仓库,需再次执行
git add a.txt
git commit -m '注释'
// 查看被操作文件的历史记录
git log
回退版本之后,被操作的文件内容回到回退的那个版本
// 将操作的文件退回到上个版本
git reset --hard HEAD^
git reset --hard HEAD~1 //后面的参数为回退到第几个版本
// 恢复到某个版本
git reset --hard 版本号
// 获取文件的版本号
git reflog
对修改的文件,如果未提交到版本库,可以使用撤销命令,来撤销修改
git checkout -- a.txt
rm x.txt // 删除文件
git checkout -- x.txt // 恢复删除的文件
rm x.txt // 删除文件
git commit // 执行此命令后,将彻底删除文件
// git终端
ssh-keygen -t rsa -C "邮箱"
ssh -T git@github.com
创建完成后,可以看到官方推荐的几种不同做法
- 创建一个本地仓库与该远程仓库进行关联并推送其内容到该远程仓库
- 将已有的本地仓库与该远程仓库进行关联并推送其内容到该远程仓库
- 导入另一个远程仓库的代码至该仓库中
// 1.在某个本地仓库中执行
git remote add origin https://github.com/xieyiduo93/newstore.git
// 2.将本地仓库中的文件推送到远程仓库中(由于新建的远程仓库是空的,没有readme.md文件所以要加上-u这个参数,等远程仓库里有内容后,以后再推送就不需要-u参数)
git push -u origin master
从本地仓库提交到github远程仓库有两种方式,一种是通过ssh,另一种是https,这两种方式的本质是一样的,那就是要让远程仓库知道你是谁?,这里介绍ssh,它的优点是在每次提交的时候不需要输入用户名和密码,很方便
将本地仓库的文件添加到远程仓库中后(即进行了关联后),每次本地仓库中有文件更改,只需将本地仓库中的文件保存到版本库后(即git add ....., git commit -m .......),
再执行git push origin master命令,便可将本地仓库与远程仓库进行同步;
git push origin master
这里有个坑需要注意一下,就是在创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错,
可以执行如下命令将内容合并(如果每次提交远程仓库有变更,则需要执行此命令,相当于svn的update,更新本地代码)
git pull --rebase origin master
git clone 远程仓库的url filename(生成的文件夹的名称)
git remote set-url [--push] name newurl [oldurl]
or: git remote set-url --add name newurl
or: git remote set-url --delete name url
eg: git remote set-url origin 远程仓库url




















