git提交代码的几个基础步骤:
1. git status ------看一下文件的修改变更
2. git add 文件名 -----添加修改的文件路径名字,可以用c*或者l*之类的代替
3. git commit -s -m "update:对本次更新提交内容做描述"
4. git log -----查看一下更新信息
5. git push ------
其他情况可以按照命令提示完成
git merge 操作:
1. git checkout 当前分支;
2. git checkout 网络环境上想要merge的分支;
3. git fecth -------拉取一下线上分支内容到本地;
4. git pull -------看一下详细的变化;
5. git merge 想要merge的分支
这时便可以看到冲突,然后处理冲突
git基础知识命令:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
- git是一个分布式版本控制系统;
- git不必联网就能工作,而集中式版本控制系统必须联网才能使用;
- git init -------初始化git仓库;
- git add 文件名 ------提交对应的git文件;
- git commit -m 后面跟的是本次提交的内容说明;
- git status -----掌握仓库当前的状态;
- git diff -----查看修改的具体内容情况;
- git log -----显示最近的提交日志;(如果嫌弃输出信息太多可以机上参数:--pretty=online),可以看看现在版本库的状态;查看提交历史;
- git中,HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本写成HEAD~100;
- git reset -----版本回退;可以加上参数--hard,例如:$ git reset --hard HEAD^;
- git reflog -----记录每一次命令;查看命令历史
- git存在暂存区;git add 的实质是把文件放到暂存区,git commit 是把暂存区的文件提交到分支;
- git跟踪并管理的 是修改,而非文件;
- git checkout -- file可以丢弃工作区的修改;
- git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区;
- git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
- rm 文件名 -----删除文件名;
- rm之后有两种选择:一种确定要从版本库中删除该文件,直接 git rm 掉,再 git commit,此时文件将彻底被删除;第二种是不小心删除掉的,用 git checkout 文件名
- git branch命令查看当前分支;
- git checkout命令加上-b参数表示创建并切换分支,相当于以下两条命令[git branch dev ; git checkout dev ];
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
用git log --graph命令可以看到分支合并图。
git stash
git stash pop
git分支:
主分支:master HEAD指向master,master指向提交,HEAD指向当前分支 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点 master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了 Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
rebase操作可以把本地未push的分叉提交历史整理成直线;
rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
git tag <name>就可以打一个新标签
git tag查看所有标签
git show <tagname>查看标签信息
命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
命令git tag可以查看所有标签。
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。