acwing代码托管平台 git.acwing.com
gti基本概念
- 工作区 : 工作区独立于各个分支,是仓库的目录
- 暂停区 : 暂停区独立于各个分支,是数据暂时存放的区域,类似于工作区到版本库的缓冲区
- 版本库 : 存放所有已经提交到本地仓库的代码版本
- 版本结构 : 树结构,树中每一个节点代表一个代码版本
将文件夹设置为git仓库
git init 将当前目录配制成git仓库,信息记录在隐藏的.git文件夹中
git设置用户和邮箱
git config --global user.name [用户名] 设置全局用户名,信息记录在 ~/.gitconfig文件中
git config --global user.email [邮箱] 设置全局邮箱,信息记录在~/.gitconfig文件中
git文件提交
1、git add [文件名] : 将文件加到暂存区里面
2、git add . : 将所有待加入暂存区的文件加入暂存区
3、git commit -m “给自己看的备注” : 将当前暂存区的内容提交到当前分支中
4、git diff xxx : 查看xxx文件与暂存区相比较更新了哪些内容
git删除和回滚
5、git rm --cached [文件名] : 将文件从仓库索引目录中删除
6、git restore –staged xxx : 撤销对缓存区的 (file)的上一次操作
7、git restore xxx \ git check out xxx ; 将文件尚未加入暂存区的修改全部撤回
9、git reset --hard [HEAD^]\[HEAD~] : 将代码回滚到上一个版本
12、git reset --hard [HEAD^^] : 将代码向上回滚两个版本
13、git reset --hard [版本号] : 将代码回滚到指定版本
14、git reflog : 查看HEAD指针的移动历史,包括回滚版本
git仓库
git clone user@xxx.com:xxx/xxx。git 将远程仓库下载到当前目录下
git remote add origin git@git.acwing.com:xxx/XXX.git:将本地仓库关联到远程仓库
git分支操作
1、git checkout branch_name : 切换到branch_name这个分支
2、git checkout -b branch_name : 创建并切换到branch_name这个分支
3、git branch : 查看所有分支和当前所处分支
4、git merge branch_name : 将branch_name这个分支合并到当前分支上
5、git branch -d branch_name : 删除本地的branch_name这个分支
6、git branch branch_name : 创建新分支branch_name
7、git push --set-upstream origin branch_name设置本地的branch_name分支对应远程仓库的branch_name分支
8、git log : 查看当前分支的所有版本
9、git push -d origin branch_name : 删除远程仓库的branch_name分支
10、git pull : 将远程仓库的branch_name分支与本地仓库的当前分支合并
11、git pull origin branch_name :将远程仓库的branch_name分支与本地的当前分支进行合并
12、git branch --set-upstream-to=origin/branch_name1 branch_name2 : 将远程仓库的branch_name1分支与本地的branch——name2分支对应
13、git checkout -t origin/branch_name : 将远程的branch——name分支拉取到本地
15、git push -u (第一次需要-u以后不需要):将当前分支推送到远程仓库
16、git push origin branch_name:将本地的某个分支推送到远程仓库
git栈与分支
1、git stash : 将工作区和暂存区中尚未提交的修改存入栈中
2、git stash apply : 将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
3、git stash drop : 删除栈顶存储的修改
4、git stash pop : 将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
5、git stash list : 查看栈中所有元素