一、开篇
工作的时候必要的工作流程,从远程仓库拉取代码到本地,签出分支然后再本地进行开发,开发完成,通过暂存区将代码提交到版本库,最后推送到远程仓库。工作流程简单,但是往往在实际工作中却不是这样的,因为不是你一个人开发一个项目,也不是你一个人提交代码,这样就会产生一系列的问题,为了梳理Git的各种操作,小弟简单整理了一下Git的操作命令,希望对大家有所帮助,最后祝大家工作开心,生活愉快,少掉头发,多吃肉!
一、开篇
工作的时候必要的工作流程,从远程仓库拉取代码到本地,签出分支然后再本地进行开发,开发完成,通过暂存区将代码提交到版本库,最后推送到远程仓库。工作流程简单,但是往往在实际工作中却不是这样的,因为不是你一个人开发一个项目,也不是你一个人提交代码,这样就会产生一系列的问题,为了梳理Git的各种操作,小弟简单整理了一下Git的操作命令,希望对大家有所帮助,最后祝大家工作开心,生活愉快,少掉头发,多吃肉!
二、拉他!
1、git fetch 命令:
$ git fetch <远程主机名>
这个命令将某个远程主机的更新全部取回本地
$ git fetch <远程主机名> <分支名>
如果只想取回特定分支的更新,可以指定分支名,注意之间有空格
2、git pull 命令:
git pull相当于 git fetch 跟着一个 git merge (合并命令),简单的意思就是录取并合并。
$ git pull <远程分支名>:<本地分支名>
注意:git fetch 和 git pull 区别:
git pull 拉去当前分支
git fetch 不会自动merge,需要手动去merge
三、分他!
1、git branch <name>
你很NB的创建了一个名字叫做name的分支,但是你创建了分支,还得需要切换到分支,所以:
git checkout -b <branchName>
创建并切换到一个叫做branchName的分支!(神不神奇!)
2、本地分支关联到指定的远程分支:
git branch -u <master/name>(master:远程分支名,name:本地分支名)
3、取消本地分支和远程分支的关联:
git branch --unset-upstream [<master/name>]
4、怎么删除本地分支:
git branch -D <name>
5、怎么合并分支:
git merge <name>
6、合并某个分支的某次提交到指定分支:
git log
git checkout -b
git cherry-pick commitName
git push
7、合并多个提交:
可以用rebase命令把多个commit压缩成一个。
git rebase -i <commit>
四、提他!
1、git commit -m '提交信息'
2、最近一次提交,发现有遗漏: git add .// 添加到暂存区
git commit -m '提交信息'
五、推他!
1、怎么推送到远程指定分支:
// 推送到远程指定分支,并创建关联 git push -u origin <name> // 若本地分支已经与远程分支关联,则可省略远程分支 git push
2、强制推送到远程分支:
git push -f // --force 的缩写
若在强制推送的过程中,已经有其他人推送到该远程分支,则会使他人的提交记录丢失,为了更安全的推送,可用如下命令。在他人推送了新的提交的情况下,强制推送会被拒绝。
git push --force-with-lease
!!!强制推送到远程分支会覆盖远程,若不熟悉此命令,请慎用!!!
六、撤他!
1、撤销本地工作区的改动: git checkout -- <filePath> //丢弃工作区某个文件的改动 git checkout -- . // 丢弃工作区所有文件的改动
撤销本地工作的改动后,文件会回退到最近一次 commit 或 add 状态。
2、撤销暂存区或者版本库的改动:(reset--->版本撤回)
// 当没有指定 filename 时,表示撤销暂存区中的所有文件 git reset HEAD <filename>
// 回退到指定的提交记录 git reset [<mode>] [<commit>]
3、情景:第一天将代码推到远程仓库,结果第二天发现推远程的代码出错了,这时候怎么撤销远程仓库的改动?(revert--->撤销操作)
解决方法:revert 逆向修改,然后重新提交并推送到远程仓库。 git revert <commit> // 撤销修改 git push // 推送到远程仓库,实现远程仓库的撤销
reset与revert的区别
commit。
revert的内容正好相反,能够抵消要被revert的内容。
----------------------------------------------加油!你是最棒滴~~~~~~~