Git
场景一:Git 本地版本库的基本用法
命令 | 用法 |
---|
git init | 初始化一个本地版本库 | git status | 查看当前工作区(workspace)的状态 | git add [FILES] | 把文件添加到暂存区(Index) | git commit -m "wrote a commit log infro” | 把暂存区里的文件提交到仓库 | git log | 查看当前HEAD之前的提交记录,便于回到过去 | git reset —hard HEAD^^/HEAD~100/commit-id/commit-id的头几个字符 | 回退 | git reflog | 可以查看当前HEAD之后的提交记录,便于回到未来 |
场景二:Git 远程版本库的基本用法
git clone && git remote
使用git remote 命令时,要切换到相应目录下
使用git clone 之后默认的分支,即远程为 origin/master
git push
git pull
second commit是在远程仓库添加的内容,现在同步到了本地仓库
场景三:团队项目中的分叉合并
工作流程(简述)
克隆或同步最新的代码到本地存储库;
为自己的工作创建一个分支,该分支应该只负责单一功能模块或代码模块的版本控制;
在该分支上完成某单一功能模块或代码模块的开发工作;
最后,将该分支合并到主分支。
1.克隆或同步最新的代码到本地存储库
git clone https://DOMAIN_NAME/YOUR_NAME/REPO_NAME.git
git pull
2.为自己的工作创建一个分支,该分支应该只负责单一功能模块或代码模块的版本控制
git checkout -b mybranch
git branch
3.在该分支上完成某单一功能模块或代码模块的开发工作;多次进行如下操作
git add FILES
git commit -m "commit log"
4.最后,先切换回master分支,将远程origin/master同步最新到本地存储库,再合并mybranch到master分支,推送到远程origin/master之后即完成了一项开发工作
git checkout master
git pull
git merge --no-ff mybranch
git push
git merge的时,若无冲突则合并到了本地仓库,所以直接push到远程就行
问题:若branch和master都修改了同一位置有分歧怎么办
1.mybranch 分支的代码已经合并到了当前工作区(workplace)
2.在当前工作区里先解决冲突(会出现both change ,incoming change 等选项)
3.提交到仓库(git add 和git commit -m )即可完成合并
场景四:Git Rebase
流程
具体步骤
1.在mybranch 依次添加ABC 三个版本
2.使用git rebase -i HEAD^^^ 命令,删除AB两版本
3.在删除版本后会有冲突,解决掉冲突后将修改后的文件存入暂存区(git add ),执行git rebase --continue
4.切换为master 分支,完成合并操作并push 到远程仓库
|