git常规使用

198 阅读2分钟

MacBook上安装git和将GitHub作为托管服务器

www.cnblogs.com/zhangwei595…

创建与合并分支:

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