一,仓库结构
1,Remote(远端仓库)
Gitee,Github等远程仓库
1.1,mian(master)
等
2,Local Git(本地git)
里面存放所有git的信息
3,Disk(磁盘)
本地放代码的文件夹
二,工作流程
1,将Remote复制到本地
git clone https://gitee.com/im-not-a-handsome-guy/linux_-t113-s3.git
将在Local Git 和 Disk 中 Init Remote上 的 master分支
2,建立分支(从 master 建立)
git checkout -b my-feature
将在Local Git中建立my-feature分支,并且Disk可以切换分支
3,添加暂存区
git add .
4,将暂存区的新代码放入Local Git中
git commit -m "xxx"
commit信息和修改信息放入Local Git中了
5,发送给远程仓库
git push origin my-feature
远程仓库获取了Local Git里的信息(添加了新分支,新修改,commit xx)
三,如果master分支改变
1,在本地master分支下 下拉远程仓库的master分支
2,在my-feature分支下使用git rebase main,将我的代码先变成master的代码,再加入之前的commmit的修改。
3,上传到远程仓库
4,在远程服务器上合并(Squash and merge)
5,远程仓库删除branch,本地删除git branch -D my-feature
6,拉取更新后的master分支
四,基础指令
一,基本上传下拉操作
1, 切换分支:git checkout ljx
2, 拉取最新文件:git pull origin ljx
3,检测仓库的状态:git status
4, git add .
5, git commit -m "ljx new QT"
6, 上传文件:git push origin ljx7,覆盖式上传:git push -f origin ljx
二,分支操作
1,查看分支:
git branch
2,查看所有本地和远程分支:
git branch -a
3,切换分支:
git checkout ljx
4,创建并切换到新的本地分支,同时关联远程分支:
git checkout -b new_local_branch origin/remote_branch
10,合并分支:
git merge ljx
三,恢复之前版本
1,查看提交历史:git log --oneline
2,覆盖式切换到指定版本:git reset --hard 36d2679
3,覆盖式切换主分支:git reset --hard master