MacBook上安装git和将GitHub作为托管服务器
创建与合并分支:
www.liaoxuefeng.com/wiki/896043…
创建SSH Key
ssh keygen -t rsa -C "youremail@example.com"
添加远程仓库
// 把本地仓库关联GitHub仓库
git remote add origin [GitHub仓库地址]
// 把本地仓库的内容推送到GitHub仓库,第一次推送加上 -u 参数
git push -u origin master
// 此后
git push origin master
更新远程仓库
git remote set-url origin [仓库地址]
从远程仓库克隆
git clone [仓库地址]
本地已经有相关的仓库代码
//查看远程分支
git branch -r
//创建本地分支并关联
git checkout -b 本地分支 origin/远程分支
//已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名 本地分支名
//拉取git pull
版本回退
// 显示从最近到最远的提交日志
git log
// 如果嫌输出信息太多,可加上 --pretty=oneline
git log --pretty=oneline
// HEAD 当前版本,HEAD^ 上一个版本,HEAD~10 往上10个版本
git reset --hard HEAD^ // 回退到上一个版本(上一次的commit)
// 记录每一次命令
git reflog
// 查看工作区和版本库里面最新版本的区别
git diff HEAD -- [filename]
// 丢弃工作区的修改
git checkout -- [filename]
// 撤销暂存区的修改,重新放回工作区
git reset HEAD [filename]
--soft
不删除工作空间的改动代码 ,撤销commit,不撤销add
--hard
删除工作空间的改动代码,撤销commit且撤销add
// 如果commit注释写错了,要改一下注释
git commit --amend
// 会进入vim编辑器,修改完成你要的注释后保存即可
强制覆盖远程分支
git push origin [分支名] --force
git push origin master --force
强制覆盖本地分支
git fetch --all
git reset --hard origin/master(master修改为对应的分支名)
git pull origin master
只克隆仓库中的某个文件夹
初始化命令
git init
设置允许克隆子目录
git config core.sparsecheckout true
设置要克隆仓库子目录路径
echo 'leslie*' >> .git/info/sparse-chekout
添加要克隆子目录及仓库地址
git remote add leslie [origin]
克隆
git pull leslie [origin]
只拉取一个Git项目的某些目录
1、在本地创建一个空目录,用于存储你想要拉取的项目的某些目录;
2、在该目录下使用Git命令初始化一个新的Git仓库,例如:
git init
3、添加远程仓库的URL,例如:
git remote add origin git@github.com:ZHTGitHub/nifty-vue.git
4、启用sparse checkout功能,只拉取你想要的目录,并将它们放置在指定的目录下。例如,如果你只想要项目的“dir1”和“dir2”目录,并将它们放置在当前目录下的“myproject”目录中,可以执行以下命令:
git config core.sparsecheckout true
echo "dir1/*" >> .git/info/sparse-checkout
echo "dir2/*" >> .git/info/sparse-checkout
git checkout --
mv dir1 dir2 myproject/
5、拉取远程仓库的代码:
git pull origin master