git学习
1.基础
1.提交流程
工作区–>暂存区–>本地仓库–>远程仓库
1.1查看状态
git status
1.2提交暂存区
git add 文件名
1.3提交本地仓库
git commit -m '注释'
1.4查看提交历史
git log(只显示HEAD及以前的版本)
git log --pretty=oneline(以一行的方式显示每次提交,主要信息)
git reflog(显示所有提交版本历史,包括各种回退历史)
2.文件修改与提交
2.1比较工作区与本地仓库之间某文件的区别
git diff HEAD -- 文件名
2.2从暂存区移除某文件
方式一:可以以可选的方式移除暂存区文件
git restore --staged 文件名
方式二:git reset HEAD是取消上一次操作,可以取消git add / git commit
git reset HEAD 文件名
3.版本回退(通过HEAD指针)
HEAD指针永远指向最新的一次
3.1通过HEAD指针进行版本回退
git reset --hard HEAD^ (向上一次回退)
git reset --hard HEAD~n (向上回退n个版本)
git reset --hard 版本标识符 (回退/前进到指定版本)
4.文件删除
4.1查看本地仓库中文件目录
git ls-files
4.2删除本地仓库文件
方式一:
删除也是修改,工作区删掉后,但是本地仓库还是存在被删文件的,因此需要走一遍提交本地仓库的流程,完成本地仓库某文件得删除
方式二:
git rm 文件名
5.远程仓库
github/码云
6.分支操作
6.1相关命令
主干master与分支branch可以独立开,当时分支验证没有问题后,合并分支到主干,进行发版。
git checkout branch 切换到指定分支
git checkout -b new_branch 新建分支并切换到该分支
git branch -d branch 删除指定分支
git branch 查看所有分支,*标记当前分支
git merge branch 合并分支(先切到主干,再合并分支;千万不能在分支上合并主干!)
git branch -m | -M oldbranch newbranch 重命名分支,若newbranch已经存在,通过-M 强制命名;否则使用-m 进行命名
6.2分支操作
创建分支时,主干的内容会被新的分支复制,对分支的任何操作不影响主干,通过git merge branch 实现将对分支的操作同步到主干。
7.远程分支操作
7.1相关命令
git branch -a 查看本地和远程分支
git push origin branch_name 推送本地分支到远程
git push origin :remote_branch 删除远程分支(本地依然保留该分支,注意只和上一条命令只差了一个:)
git checkout -b local_branch origin/remote_branch 拉取远程指定分支并在本地创建分支local_branch
git fetch 获取远程分支最新状态
7.2解决分支冲突
7.2.1本地冲突的产生:
当主干和分支的同一文件的相同位置(同一行)的内容不一样,进行merge合并时就会产生冲突。
7.2.2本地解决冲突
根据实际需求,进行解决
7.2.3多人协同开发冲突
先git pull 然后解决冲突
|