Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
一、远程仓库与本地仓库
1、本地仓库连接远程仓库:$ git remote add origin github仓库地址
2、本地仓库文件推送到远程仓库:$ git push -u origin master //往后可以直接用 $git push
3、本地仓库新增上传远程仓库:$git push
4、本地仓库回滚,同步到远程仓库:$ git push origin HEAD --force
5、从远程仓库克隆到本地普通文件夹中:$ git clone github仓库地址
6、从远程仓库更新数据到本地工作区:
查看远程仓库
$ git remote -v
origin git@github.com:username/Animations.git (fetch)
origin git@github.com:username/Animations.git (push)
远程origin仓库的master分支代码下载到本地temp分支:
$ git fetch origin master:temp
本地代码与刚刚从远程下载下来的代码
$ git diff temp
进行代码合并
$ git merge temp
删除temp分支
$ git branch -d temp
Deleted branch temp (was 40f902d).
7、远程仓库换名同步本地仓库连接地址:
$ git remote set-url origin newAddress;
另外还可以先删除,然后添加地址:
git remote rm origin
git remote add origin newAddress
二、本地仓库之分支
查看分支:$ git branch
新建新分支:$ git branch 新分支名
从当前分支切换到指定分支:$ git checkout 分支名
合并新分支到当前分支:$ git merge 新分支名(要合并到master分支,所以先切换到master分支)
三、本地仓库与本地工作区
新建本地工作区:$ git init
查看工作区状态:$ git status
将工作区变动添加到暂存区:$ git add 文件名
从暂存区撤销:从暂存区回到工作区:$ git reset HEAD 文件名;在工作区中让该文件回到修改前:$ git checkout -- 文件名
将暂存区提交到本地仓库:$ git commit -m "描述信息"
从本地仓库回滚到指定时刻的本地仓库状态(回退历史版本:就是改变HEAD指针指向):
+ $ git log //选择要返回的commit号;$ git reset --hard commit号
+ $ git log --pretty=oneline //也是查看日志,只不过这个更简洁,不显示提交作者与提交日期;
+ 回退到上一次提交:$ git reset --hard或--soft或--mix HEAD^1 //HEAD是一个指针,永远指向最新版本; --hard:会把回退后的版本以后的版本都删掉;--soft:回退后,回退的版本之后的版本仍然保留;--mix:与soft类似,也保留所有版本,只是回退后不自动执行:git add ;
+ 回退到更多版本:$ git reset --hard HEAD~n // 这里n代表需要回退几个版本(n=2,就是回退两个);
从本地仓库删除:删除本地工作区文件:$ git rm 文件名;将删除同步到本地仓库:$ git commit -m "描述 "
(或:也可以通过在工作区直接删,类似修改的操作,进行add commit 操作即可)