git使用
GIT三大区域
基本操作
- git init 初始化仓库
- git clone 下载代码
- git add . 提交工作区代码到修改到暂存区
- git commit -m 做注释 也可以为git reset提供参考
- git remote add origin 地址 添加远程连接
- git push origin name 将代码提交到远程仓库(origin horn 远程horn分支)当前分支下
- git pull =git fetch + git merge将远程分支更新下来有时也用来解决冲突
- git log --graph --pretty-format:"%h %s" 显示日志并优化输出
- git rebase continue: git rebase出现冲突会中断,解决冲突之后需要执行该命令
分支操作
分支目的:解决BUG,并行开发
- git branch -a 查看所有分支
- git branch [name] 创建分支
- git branch -d [name] 删除分支
- git checkout [name] 切换分支
- git remote add url 给分支添加远程仓库
- git merge target 将目标分支合并到当前分支下
- conflict 手动操作(注:分支继承关系合并可以直接覆盖,非继承关系合并可能发生冲突)
=======HEAD========= 当前分支代码 ==================== 待合并分支代码 ======BRANCH========
多人协作
- git rebase:版本合并
- git rebase -i 日志ID 合并日志ID~当前版本
- git rebase -i HEAD~3 合并最新三个提交版本
- git checkout dev + git rebase master + git checkout master + git merge dev 将分支合并到主链
- git fetch origin dev + git rebase 远程分支/本地分支(origin/dev): 远程拉取共同协作的代码,为防止产生新冲突,不能直接使用git pull。
- 注意事项:合并版本请勿合并已经提交到远程仓库的版本
- origin:默认情况下,origin表示本地代码库托管在远程Github上的版本
git使用场景
git remote add <远程库标签名> <http/ssh>
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
撤销修改:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
- 远程仓库的默认名称是origin
- 当远程提交出现冲突时,可以通过pull命令将远程提交抓取下来,然后在本地解决冲突后重新提交。
- 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-t o origin/。