博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git操作总结
阅读量:3939 次
发布时间:2019-05-23

本文共 2198 字,大约阅读时间需要 7 分钟。

git简述:就是一个分布式的版本控制管理工具。

集中式:通俗来讲啊就是秉承“用一次拿一次,还得在联网的情况下”
分布式:就是每台电脑都是一个完整的版本库,可以提交到自己的电脑上,并且不需要联网。

备注:

  1. 所有的版本控制工具都是跟踪文件的改动(txt文件,php等源码文件),而图片视频等二进制文件无法跟踪。(例如word文档也是二进制不能进行追踪修改的内容)。
  2. 所有文本都是有编码(GBK,shift_JIS等)(注释:推荐使用UTF-8)。
  3. 在文件中.get文件是git的版本库。

git 提交

git init(可以将目录转为git可管理的仓库)git status(查看状态)git add .(readme.md)(添加文件到git版本库中的暂存区)git status(查看状态)git commit -m "comment msg" (提交到版本库中)git push(提交到远程的仓库中)

git 版本回退

git diff readme.txt (查看修改内容)git log (查看提交的历史记录,由最新到最久,回到过去的版本)git log --pretty=oneline(和git命令一样,只是这个命令可以显示成一行,方便查看。格式为commit id  comment msg)git reset --hard head^(^这个符号表示的是当前版本的上一个版本,^^就是当前版本的前俩个版本,如果很多的话可以写 head~100)git reset --hard 1902a...(commit id)git reflog (查看历史命令,回到未来的版本)

git工作区和版本库(暂存区+分支)

工作区:就是你电脑上的文件夹暂存区:就是你使用git add . 的时候文件存储到的是暂存区分支:git为我们自动创建的分支master,它的指向是HEAD

git checkout

git checkout -- file (丢弃工作区修改的内容,其中 -- 符号很重要,遗漏的话就是切换另一个分支的命令)git reset Head file (将文件修改后存到暂存区,可以使用该命令回到工作区,然后使用git checkout -- file 操作)

git 删除

git rm file (删除一个文件,如果版本库和工作区不一致了,并且确定要删除,最后是用git commit 提交即可)git checkout -- file (该情况是工作区误删之后,但是版本库里存在,可以使用该命令还原工作区)

git 远程库

origin 就是远程库git push -u origin master (本地库与远程库做关联,并提交,-u 就是本地与远程库的关联,以后提交可以不需要添加 -u)git remote -v (查看远程库信息)git remote rm (远程库删除,其实本质是解除本地与远程仓库的关系)

git 克隆

git clone address (从远程仓库克隆到本地库中,git 支持多种协议,但是ssh协议的速度最快)

git 分支

git branch 查看分支git branch (name) 创建分支git checkout (name) /git switch (name) 切换分支git checkout -b (name)/git switch -c (name) 创建分支并切换到当前分支git merge (name) 合并某分支到当前分支git branch -d (name) 删除分支

git冲突

首先手动解决冲突,然后提交,最后合并git log --graph 可以看到分支合并图git merge --no -ff -m "comment" dev (普通模式合并,合并后的历史有分支,能看出来曾经做过合并)

bug分支(看廖老师的网站)

修复bug 会通过创建新的bug分支进行修复,然后合并,最后删除。git stash 可以将当前现场储藏起来,然后回复继续工作(当手头工作没有完成时候,可以使用)git stash pop 回到工作现场git cherry-pick 
(把在别的分支上修改的bug复制到当前分支,避免重复劳动)

feature 分支

开发一个新的公共feature ,最好新建一个分支git branch -d (name) (如果要丢弃一个没有合并过的分支,可以通过该命令强制删除)

多人协作工作模式

git push origin (branch-name) 推送自己的修改到远程分支git pull  下拉远程最新代码。git push origin (branch-name) 推送代码到远程分支git branch --set-upstream-to (branch-name) origin/(branch-name)   (家里本地分支和远程分支的关联)

rebase

rebase操作可以把本地未push的分叉提交历史整理成直线

.gitignore 忽略文件

在工作区目录下创建一个特殊的文件.gitignore文件,并上传到git版本库中*.class文件 表示 文件为.class为后缀的都在操作的时候被忽略不上传.* 表示以 .开头的文件不被上传

转载地址:http://faywi.baihongyu.com/

你可能感兴趣的文章
解读一名软件测试经理所需要具备的能力
查看>>
有效的软件测试度量
查看>>
软件评测和测试国家现行标准
查看>>
理解测试策略
查看>>
机器学习界大牛林达华推荐的书籍
查看>>
path变量备份
查看>>
Lesson2.2 & 2.3 Maya command reference & quick help
查看>>
lesson 2.4 - Converting MEL Commands to Python
查看>>
Lesson3.2 variables
查看>>
3.4.2 - Operators & 3.4.3 division and truncation
查看>>
3.7.1 - Strings
查看>>
3.7.4 - Indexing and Slicing Strings
查看>>
3.7.5 - Modifying Strings
查看>>
3.7.6 - String Methods
查看>>
3.8 - Using the Print Function
查看>>
3.9.1 - Lists in Python
查看>>
3.9.2 - Lists - Adding and Removing Objects
查看>>
3.9.3 - Sorting Lists
查看>>
3.10 - Maya Commands: ls
查看>>
3.11 - Dictionaries in Python
查看>>